EJB-RMI server hang using IIOP
I have a java program that makes an EJB call using IIOP to an EJB hosted on a WebLogic server. The code is known to work in several environments, however when I deploy this to my production environment it hangs and appears to "lose" the reply from Weblogic.
Essentially, then the program makes an attempt to obtain the initial context, it sends a request to the Weblogic server, but then hangs.
Snooping the network shows that the request has reached weblogic and that weblogic has sent a sensible reply (which the client acknowledges).
From trussing the process I can see the program send the request (268 bytes of data written to a socket that matches with what I see in snoop), but the program then seems to be looping in ioctl and pollsys, I never see it read any data.
The last few lines of the stack trace show the process in an Object.wait (see code snippets).
The last call my code makes is to construct a javax/naming/InitialContext (see "context = new InitialContext(props);" in Code snippet)
Doing a "CTRL+\" does not show any deadlocked threads in the JVM.
Code Snippets:
The method in the code that it crashes in is:
* Helper method to obtain an initial context
private static void obtainInitialContext(boolean reload)
throws IOException
if (context == null || reload)
logger.info("Creating a new initial context as it either doesn't exist or needs reloading");
final String PROVIDER_URL_KEY = "props.orange.ProviderUrlKey";
final String CONTEXT_FACTORY_KEY = "props.orange.ContextFactoryKey";
try
String providerURL = ConfigurationManager.getConfigValue(PROVIDER_URL_KEY);
String contextFactory = ConfigurationManager.getConfigValue(CONTEXT_FACTORY_KEY);
if (providerURL == null)
logger.error("Could not find the property: " + PROVIDER_URL_KEY);
throw new IOException("Could not find the property: " + PROVIDER_URL_KEY);
if (contextFactory == null)
logger.error("Could not find the property: " + CONTEXT_FACTORY_KEY);
throw new IOException("Could not find the property: " + CONTEXT_FACTORY_KEY);
Hashtable props = new Hashtable();
props.put(Context.PROVIDER_URL, providerURL);
props.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory);
context = new InitialContext(props);
catch (Exception e)
logger.error("Unable to obtain initial context: ", e);
throw new IOException("Unable to obtain initial context: " + e);
Stack trace:
ff2c1bbc lwp_cond_wait (3a8a0, 3a888, 0, 0)
feab4f98 __1cNObjectMonitorEwait6MxipnGThread__v_ (241d98, 94c8, 8c00, fefc4000, 39c08, 241db8) + 59c
feab61a8 __1cSObjectSynchronizerEwait6FnGHandle_xpnGThread__v_ (ffbfa758, 8784, 0, 39c08, 8400, fefc4000) + e8
feab5e58 JVM_MonitorWait (0, 3a204, 39c08, ff018ffc, 0, 1) + 31c
f900c280 * java/lang/Object.wait(J)V+0
f900c224 * java/lang/Object.wait(J)V+0
f9005764 * java/lang/Object.wait()V+2 (line 474)
f9005764 * com/sun/corba/se/impl/transport/CorbaResponseWaitingRoomImpl.waitForResponse(Lcom/sun/corba/se/pept/protocol/MessageMediator;)Lcom/sun/corba/se/pept/encoding/InputObject;+238 (line 140)
prabha kancharla <> writes:
What versions of each are you using?
andy
I have a java program that makes an EJB call using IIOP to an EJB hosted on a WebLogic server. The code is known to work in several environments, however when I deploy this to my production environment it hangs and appears to "lose" the reply from Weblogic.
Essentially, then the program makes an attempt to obtain the initial context, it sends a request to the Weblogic server, but then hangs.
Snooping the network shows that the request has reached weblogic and that weblogic has sent a sensible reply (which the client acknowledges).
From trussing the process I can see the program send the request (268 bytes of data written to a socket that matches with what I see in snoop), but the program then seems to be looping in ioctl and pollsys, I never see it read any data.
The last few lines of the stack trace show the process in an Object.wait (see code snippets).
The last call my code makes is to construct a javax/naming/InitialContext (see "context = new InitialContext(props);" in Code snippet)
Doing a "CTRL+\" does not show any deadlocked threads in the JVM.
Code Snippets:
The method in the code that it crashes in is:
* Helper method to obtain an initial context
private static void obtainInitialContext(boolean reload)
throws IOException
if (context == null || reload)
logger.info("Creating a new initial context as it either doesn't exist or needs reloading");
final String PROVIDER_URL_KEY = "props.orange.ProviderUrlKey";
final String CONTEXT_FACTORY_KEY = "props.orange.ContextFactoryKey";
try
String providerURL = ConfigurationManager.getConfigValue(PROVIDER_URL_KEY);
String contextFactory = ConfigurationManager.getConfigValue(CONTEXT_FACTORY_KEY);
if (providerURL == null)
logger.error("Could not find the property: " + PROVIDER_URL_KEY);
throw new IOException("Could not find the property: " + PROVIDER_URL_KEY);
if (contextFactory == null)
logger.error("Could not find the property: " + CONTEXT_FACTORY_KEY);
throw new IOException("Could not find the property: " + CONTEXT_FACTORY_KEY);
Hashtable props = new Hashtable();
props.put(Context.PROVIDER_URL, providerURL);
props.put(Context.INITIAL_CONTEXT_FACTORY, contextFactory);
context = new InitialContext(props);
catch (Exception e)
logger.error("Unable to obtain initial context: ", e);
throw new IOException("Unable to obtain initial context: " + e);
Stack trace:
ff2c1bbc lwp_cond_wait (3a8a0, 3a888, 0, 0)
feab4f98 __1cNObjectMonitorEwait6MxipnGThread__v_ (241d98, 94c8, 8c00, fefc4000, 39c08, 241db8) + 59c
feab61a8 __1cSObjectSynchronizerEwait6FnGHandle_xpnGThread__v_ (ffbfa758, 8784, 0, 39c08, 8400, fefc4000) + e8
feab5e58 JVM_MonitorWait (0, 3a204, 39c08, ff018ffc, 0, 1) + 31c
f900c280 * java/lang/Object.wait(J)V+0
f900c224 * java/lang/Object.wait(J)V+0
f9005764 * java/lang/Object.wait()V+2 (line 474)
f9005764 * com/sun/corba/se/impl/transport/CorbaResponseWaitingRoomImpl.waitForResponse(Lcom/sun/corba/se/pept/protocol/MessageMediator;)Lcom/sun/corba/se/pept/encoding/InputObject;+238 (line 140)
Similar Messages
-
XDK 9i Issues : setXSLT - NullPointerException And RMI Server hangs
Present Scenario :
JDK 1.3
Oracle DB : 8.1.6
JDBC Driver : OracleThin.jar
XML Parser : xmlparserv2.jar : ( size = 1121488 )
XML-SQL utility : xsu12.jar : ( size = 180522 )
We use RMI with JDBC. RMI server object connects to database , uses xsu12.jar and xmlparserv2.jar to convert data into XML. Servlet connects to RMI server and gets this XML. Everything works fine.
Problem Scenario :
Since this parser does not support JAXP , I downloaded XDK 9i from oracle site.(9.2.0.1.0 - Dated 01/31/02 ) . After extracting , I replaced xmlparserv2.jar and xsu12.jar with this new ones. And problem started. There are 2 problems :
A. setXSLT( String, String ) throws NullPointerExcpetion
B. When I commented setXSLT method, RMI server completes execution of remote method which can be verified from Log. But it never returns , so client gets blocked. When RMI server is stopped by doing ctrl-C , client gets correct XML document.
Then I installed latest JDBC2.0 driver for 8.1.6 from site which is classes.zip. This also resulted in to same problems mentioned above. But it did work fine wirh earlier version of xmlparserv2.jar and xsu12.jar. Just FYI : I noticed significant size difference betwenn new and old jars.
New xmlparserv2.jar : size = 660421
New xsu12.jar : size = 473249
Thanks for patience
What could be possible solution ?Thanks Jinu
Problem A of setXSLT throwing NullPOinter Exception is solved. However problem B of RMI server not returning still there.
Just as an FYI , following is system
DB : oracle 8.1.6
xmlparserv2.jar : 9i xdk
xsu12_816.jar : 9i xdk
classes12.zip : JDBC2.0 for 8.1.6
When RMI server is stopped ( ctrl- C ) , client gets correct XML document alongwith proper Node names as set in setStyleSheet( String, String). -
Bonuses of EJB creating server that uses TCP/IP to read/write to hosts
I have created just Java application(not EJB) that uses Socket classes to communicate(read/write) via TCP/IP with connected clients.
I'm new in EJB technology. I have read about 150 pages of different EJB and AppServer manuals but haven't yet found any bonus of EJB for my task. What bonuses could I get if I will remake application as EJB? Please describe advantages in good explained examples.You can make an empty server only with tpsvrinit that starts your client
listeners and a tpsrvdone that stops them. Be carefull with sharing ipcs
between processes, or your clients may get puzzled!!!
Another choice can be builting a custom WSL/WSH but I haven't done
this yet and I don't know exactly the troubles related with making them.
R.G.
Travis Ward wrote:
How would you interface a tuxedo app with another application that
uses tcp/ip socket messaging? I have a vendor product that offers
a tcp/ip message interface, and would like to know how best to
integrate it into a tuxedo application. I could write a C application
that listens and accepts incoming request from the vendors application,
and then make a tuxedo client call to a service. But this doesn't
allow me to control the listen thread through tuxedo. The C application
would have to be started seperately and would not take advantage
of the tuxedo restart facilities etc of a tuxedo service. -
UNABLE TO ACCESS SECURED EJB USING IIOP FROM JSP
Following codes does not work with IIOP when called from jsp returns an
com.sap.engine.services.iiop.CORBA.CORBAObject:com.sap.engine.services.iiop.server.portable.Delegate_1_1@8312b1 step2 RemoteException occurred in server thread; nested exception is: java.rmi.RemoteException: com.sap.engine.services.ejb.exceptions.BaseRemoteException: User Guest does not have access to method create(). at
Following codes does not work with IIOP when called from a fat client returns an
org.omg.CORBA.UNKNOWN: vmcid: 0x0 minor code: 0 completed: Maybe
at com.sun.corba.se.internal.core.UEInfoServiceContext.<init>(UEInfoServ
iceContext.java:33)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at com.sun.corba.se.internal.core.ServiceContextData.makeServiceContext(
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.cosnaming.CNCtxFactory");
p.put(Context.PROVIDER_URL, "iiop://hostname:50007");
p.put(Context.SECURITY_PRINCIPAL, "User");
p.put(Context.SECURITY_CREDENTIALS, "pass");
I have add java option to add IIOP filer
-Dorg.omg.PortableInterceptor.ORBInitializerClass.com.sap.engine.services.iiop.csiv2.interceptors.SecurityInitializer
Solution Required: Could you please detail me what steps in need to perform in order for me to access secure ejb using iiop protocol.
FYI -- How ever ejb security works with P4 protocol, If required i can send you the test case ear.
Thanks
Vijay
Following are the server side logs
java.rmi.RemoteException: com.sap.engine.services.ejb.exceptions.BaseRemoteException: User Guest does not have access to method create().
at test.TestEJBHomeImpl0.create(TestEJBHomeImpl0.java:91)
at test._TestEJBHome_Stub.create(_TestEJBHome_Stub.java:214)
at jsp_testIIOP1199698887113._jspService(jsp_testIIOP1199698887113.java:33)
at com.sap.engine.services.servlets_jsp.server.jsp.JspBase.service(JspBase.java:112)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:544)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:186)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: com.sap.engine.services.security.exceptions.BaseSecurityException: Caller not authorized.
at com.sap.engine.services.security.resource.ResourceHandleImpl.checkPermission(ResourceHandleImpl.java:608)
at com.sap.engine.services.security.resource.ResourceHandleImpl.checkPermission(ResourceHandleImpl.java:505)
at com.sap.engine.services.security.resource.ResourceContextImpl.checkPermission(ResourceContextImpl.java:45)
at test.TestEJBHomeImpl0.create(TestEJBHomeImpl0.java:89)
... 20 more
; nested exception is:
java.lang.SecurityException: com.sap.engine.services.security.exceptions.BaseSecurityException: Caller not authorized.
at com.sap.engine.services.security.resource.ResourceHandleImpl.checkPermission(ResourceHandleImpl.java:608)
at com.sap.engine.services.security.resource.ResourceHandleImpl.checkPermission(ResourceHandleImpl.java:505)
at com.sap.engine.services.security.resource.ResourceContextImpl.checkPermission(ResourceContextImpl.java:45)
at test.TestEJBHomeImpl0.create(TestEJBHomeImpl0.java:89)
at test._TestEJBHome_Stub.create(_TestEJBHome_Stub.java:214)
at jsp_testIIOP1199698887113._jspService(jsp_testIIOP1199698887113.java:33)
at com.sap.engine.services.servlets_jsp.server.jsp.JspBase.service(JspBase.java:112)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:544)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:186)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)That's the code that you need to execute but you should
probably encapsulate that code in Custom Action.
Orion has a EJB Tag Library that is free to distribute that
does all that stuff you just set some attributes.
Go to their site and look at their Tag Libraries.
Also look for other Tag Libraries Freely Available for EJB Access. -
Stateless Session EJB hangs using URLConnection but WLS doesn't clean up
Hi
We have a stateless session EJB running under WLS 5.1 with service
pack 10 on Solaris.
The bean calls a remote HTTP server using the java.net.URLConnection
class and forwards the response to the EJB client. The bean is largely
working fine but some threads hang waiting on the HTTP response. Debug
statements, which are written immediately after the response has been
read and the connection has been closed, do not appear in our log for
the hung threads. The WebLogic Console displays these threads as "in
use" and a "netstat -an" displays the tcp connections as ESTABLISHED.
However, the access logs of the remote Apache server show the HTTP
connections of the threads in question completed successfully with
HTTP code 200. The Apache server is using keep-alive connections.
Some EJB threads are still waiting for something it seems.
Has anyody else experienced this when using URLConnection from
stateless session EJBs under WLS?
The second problem is why doesn't WLS time these threads out after
trans-timeout-seconds (we're using the default of 300 seconds)? The
WLS log shows no error messages relating to this problem.
I'm grateful for any info offered.
Thanks in advance
SteveIf you suspect that WLS protocol handler is at fault (and quite often it is),
one thing to try is (if you use Sun's JVM) to use Sun's HTTP protocol handler
instead of WLS (the most common symptom is when code which makes HTTP requests
works fine outside of WebLogic and you have problems getting it to work inside
WebLogic) :
replace
URL url = new URL("http://...");
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
with
URL url = new URL(null, "http://...", new sun.net.www.protocol.http.Handler());
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
You will have to edit weblogic.policy to allow your code to specify protocol
handler.
Also note that transaction timeout is only checked on method boundaries, or
when your code attempts to do something with the database - it is not going to
interrupt thread which is waiting for HTTP response.
Steve Lock <[email protected]> wrote:
Hi
Thanks for the info. The remote HTTP server's access log shows that
the requests were successfully processed. Doesn't this mean that the
connection is then closed? I know the web server is using keep-alive
connections but I thought this was transparent to the client...?
Also why doesn't WLS remove the hung threads?
Steve
"Ignacio G. Dupont" <[email protected]> wrote in message news:<[email protected]>...
We have had a problem like yours with Weblogic 6.1 SP2 on Linux
The problem is sun's implementation of the HTTP connections doesn't have a
timeout, so if the other peer doesn't close the connection your threads will
be "locked" on the connection.
We have found searching the web that the Jakarta project has a package
called Jakarta commons that implements HTTP connections with an
setSoTimeout(int timeout) method so you can open the connections with your
desired timeout. You have to download the code from the CVS as the released
version doesn't support the timedout sockets yet.
When support for the JDK 1.4 version will be announced by Bea you could use
one of its new features that will allow you to pass arguments to the JVM to
specify the maximum socket connection stablising timeout and the max
inactivity on the socket too.
Hope it helps you.
Dimitri -
Server Hangs while compiling some EJB in Weblogic 6.1 SP5 on AIX 4.3.3
Hi,
Iam not able to deploy a J2EE application in WebLogic 6.1 SP5 on an AIX 4.3.3
box.
CMP is being used and my EJBs are not being compiled( though there are no errors
thrown).
Iam using IBM DB2 ver 8.0 DB as client and server.
While compiling, the server Hangs, displaying the message "<Info> <Management>
<Configuration changes for domain saved to the repository.>"
Is there any configuration Issues with weblogic 6.1 SP5 and AIX 4.3.3?
Because the same EAR works in SP3.
Please help ASAP.
Thanks in advance.
NageshThe only thing to do again with "hangs" is to take thread dumps. As for why
things are going wrong...... I am at a loss other than some AIX weirdness.
Cheers
mbg
"Deshpande" <[email protected]> wrote in message
news:[email protected]...
>
Hi Mark,
I tried it out ....I ran EJBC on all my EJB's and then tried to deploy myapplication.
Application got deployed and the server was up, but JSP's dosent getcompiled(
i.e when I want to run my application, my server hangs again).
I tried one more option.. I pointed my JAVAHOME in startweblogic.sh to anSP3
JDK .. and it worked!! Now with this JDK Iam able to deploy my entireapplication
( with out precompiled) also run through the application without anyproblems.
I then over wrote the existing JDK ( of SP5 ) with that of SP3 and thentried.
Which also works fentastically!!!
I can feel something fishy here ....
Any help in this regard is most welcome.
Thanks and Regards...
Nagesh
"Mark Griffith" <[email protected]> wrote:
Deshpande:
"Deshpande" <[email protected]> wrote in message
news:[email protected]...
Hi Mark,
Thanks again.
For
Q1> How much time was between the two dumps?
A1> There was a minute gap B/w the two dumps. ( since it took so longto
write
the Core)
Q2> How long have you waited with no progress seeming to be made?
A1> Over a whole night. ( appx 14 hours).
Now I believe you would have figured out what the problem is.Not sure if this is a statement saying you think I have figured it out,
or a
statement saying you think I should have figured it out but I haven't.
Anyway... Did you try running ejbc on the "app" first?
Meanwhile also it would be great, if you would tell me the proceduresto
get support
form the BEA and AIX to solve the Issue.
http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/services/custome
r_support/contacts/
>>
I would suggest sending as much detail as possible, including zips of
the
thread dumps and pointers to this newsgroup conversation [email protected]
>>
I do however suggest you first try running ejbc.
Cheers
mbg
Thanks in advance.
R
Deshpande.
"Mark Griffith" <[email protected]> wrote:
Nagesh:
Wow, AXI outputs some interesting thread dumps. ;)
So the interesting thread (and the problem) is:
"main" (TID:0x300C41D8, sys_thread_t:0x30010A60, state:CW, native
ID:0x1)
prio=5
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:429)
at java.lang.UNIXProcess.waitFor(UNIXProcess.java:130)
at weblogic.utils.Executable.exec(Executable.java(Compiled Code))
at weblogic.utils.Executable.exec(Executable.java(Inlined CompiledCode))
at
weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(CompilerInvoker.j
a
v
a(Compiled Code))
at
weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java(Inlin
e
d
Compiled Code))
at
weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java(Compiled
Code))
at weblogic.ejb20.deployer.Deployer.runEJBC(Deployer.java(InlinedCompiled
Code))
at weblogic.ejb20.deployer.Deployer.compileEJB(Deployer.java(Compiled
Code))
at weblogic.ejb20.deployer.Deployer.deploy(Deployer.java(CompiledCode))
at weblogic.j2ee.EJBComponent.deploy(EJBComponent.java:33)
at weblogic.j2ee.Application.addComponent(Application.java:176)
at weblogic.j2ee.J2EEService.addDeployment(J2EEService.java:117)
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployment(Deploymen
t
T
arget.java(Compiled Code))
at
weblogic.management.mbeans.custom.DeploymentTarget.addDeployments(Deployme
n
t
Target.java:286)
at
weblogic.management.mbeans.custom.DeploymentTarget.updateServerDeployments
D
eploymentTarget.java:239)
at
weblogic.management.mbeans.custom.DeploymentTarget.updateDeployments(Deplo
y
m
entTarget.java:199)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanIm
p
l
..java(Compiled Code))
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java
C
ompiled Code))
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMB
e
a
nImpl.java:374)
atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
atweblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java(Compiled
Code))
atweblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java(Compiled
Code))
at $Proxy34.updateDeployments(Unknown Source)
at
weblogic.management.configuration.ServerMBean_CachingStub.updateDeployment
s
ServerMBean_CachingStub.java:3015)
at
weblogic.management.mbeans.custom.ApplicationManager.startConfigManager(Ap
p
l
icationManager.java:376)
at
weblogic.management.mbeans.custom.ApplicationManager.start(ApplicationMana
g
e
r.java:164)
at java.lang.reflect.Method.invoke(Native Method)
at
weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanIm
p
l
..java(Compiled Code))
at
weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java
C
ompiled Code))
at
weblogic.management.internal.ConfigurationMBeanImpl.invoke(ConfigurationMB
e
a
nImpl.java:374)
atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1557)
atcom.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1525)
atweblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java(Compiled
Code))
atweblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java(Compiled
Code))
at $Proxy48.start(Unknown Source)
at
weblogic.management.configuration.ApplicationManagerMBean_CachingStub.star
t
ApplicationManagerMBean_CachingStub.java:480)
at weblogic.management.Admin.startApplicationManager(Admin.java:1309)
at weblogic.management.Admin.finish(Admin.java:650)
at weblogic.t3.srvr.T3Srvr.start(T3Srvr.java:547)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:214)
at weblogic.Server.main(Server.java:35)
So the Server never gets out of the Main thread to run, because theEJBC
compilation is "stuck", ejbc is running because either the EJB being
deployed was previously deployed on a different version of WLS orejbc
had
never been run on those beans. Either there is a problem on the AIX
VM
where execing processes are not returning, OR the ejb that ejbc isrunning
on is huge and is taking a REALLY long time. How much time was
between
the
two dumps? How long have you waited with no progress seeming to bemade?
Depending on the answers to these questions it maybe that there isa
VM bug
and you will need to contact BEA support to see the procedure forworking
with AIX to resolve the issue.
You maybe able to work around the problem by running EJBC on the ejb
in
question prior to starting the server.
http://edocs.bea.com/wls/docs61/ejb/EJB_utilities.html#1075296
Cheers
mbg
"deshpande" <[email protected]> wrote in message
news:[email protected]...
Hi, Mark,
Thanks for the early reply.
I have attached two consecutive dumps Zipped.
Pls look into the same and helpme out.
Thanks in advance.
Regards,
Nagesh
"Mark Griffith" <[email protected]> wrote:
When it hangs, you need to get thread dumps.
"kill -3 PID" is how this works on Solaris. Additionally if the
terminal/shell has focus that started the process you can do "CTRL
Break"
as
well. The thread dumps will go to std-out/err, so you'll have
to
redierect
std-out and err of the shell. (Make sure you don't nohup the
process
(if
AIX even supports that) since this prevents sigquits). When thehang
occurs
take a thread dump, wait 10 seconds and take another one, thenplease
zip
and attach the file in a post.
Cheers
mbg
"Deshpande" <[email protected]> wrote in message
news:[email protected]...
Hi,
Iam not able to deploy a J2EE application in WebLogic 6.1 SP5
on
an
AIX
4.3.3
box.
CMP is being used and my EJBs are not being compiled( though
there
are no
errors
thrown).
Iam using IBM DB2 ver 8.0 DB as client and server.
While compiling, the server Hangs, displaying the message "<Info><Management>
<Configuration changes for domain saved to the repository.>"
Is there any configuration Issues with weblogic 6.1 SP5 and AIX
4.3.3?
Because the same EAR works in SP3.
Please help ASAP.
Thanks in advance.
Nagesh -
Attempting to use SSL over RMI from a web application to a RMI server
Hi,
I am attempting to use SSL over RMI to a server. The client is the web
application that is hosted on WebLogic and that attempts to connect to the
server. There is no client or server verification at either the client or
the server end. The code works outside of WebLogic 7/8 but has the following
issues when running the web application inside weblogic:
java.rmi.ConnectException: Connection refused to host: gkhanna1; nested
exception is:
java.net.ConnectException: Connection refused: connect
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:350)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:137)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:124)
at java.net.Socket.<init>(Socket.java:268)
at java.net.Socket.<init>(Socket.java:95)
at
sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketF
actory.java:20)
at
sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketF
actory.java:115)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:494)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:169)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:313)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Naming.java:79)
at
com.hyperion.css.spi.impl.ntlm.NTLMConnectionClient.initConnection(NTLMConne
ctionClient.java:59)
at
com.hyperion.css.spi.impl.ntlm.NTLMConnectionClient.getUsers(NTLMConnectionC
lient.java:197)
at com.hyperion.css.CSSAPIImpl.getUsers(Unknown Source)
at com.hyperion.css.CSSAPIImpl.initialize(Unknown Source)
at com.hyperion.css.CSSAPIImpl.initialize(Unknown Source)
at jsp_servlet._jsp._app1.__app1signin._jspService(__app1signin.java:133)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Servle
tStubImpl.java:1058)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:401)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:445)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:306)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(W
ebAppServletContext.java:5445)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
r.java:780)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:3105)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
The code at the client that initiates the connection:
socketFactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket socket = (SSLSocket) socketFactory.createSocket(host, port);
socket.setEnabledCipherSuites(CIPHERS);
socket.setEnableSessionCreation(true);
Any ideas?
ThanksI don't see anything that indicates SSL was directly a factor in the
failure.
From the exception stack it looks like a more basic connectivity issue,
maybe the URL for the
RMI server is incorrect for some reason or the server was down.
It looks like you are doing something like this:
SSL client -> WLS server with servletA, servletA RMI client
(com.hyperion.css) -> RMI server
The connection failure appears to be the connection from servletA RMI client
to the RMI server.
Is that a correct picture?
Tony
"Gaurav Khanna" <[email protected]> wrote in message
news:[email protected]...
Hi,
I am attempting to use SSL over RMI to a server. The client is the web
application that is hosted on WebLogic and that attempts to connect to the
server. There is no client or server verification at either the client or
the server end. The code works outside of WebLogic 7/8 but has thefollowing
issues when running the web application inside weblogic:
java.rmi.ConnectException: Connection refused to host: gkhanna1; nested
exception is:
java.net.ConnectException: Connection refused: connect
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:350)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:137)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:124)
at java.net.Socket.<init>(Socket.java:268)
at java.net.Socket.<init>(Socket.java:95)
at
sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketF
actory.java:20)
at
sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketF
actory.java:115)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:494)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:185)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:169)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:313)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Naming.java:79)
at
com.hyperion.css.spi.impl.ntlm.NTLMConnectionClient.initConnection(NTLMConne
ctionClient.java:59)
at
com.hyperion.css.spi.impl.ntlm.NTLMConnectionClient.getUsers(NTLMConnectionC
lient.java:197)
at com.hyperion.css.CSSAPIImpl.getUsers(Unknown Source)
at com.hyperion.css.CSSAPIImpl.initialize(Unknown Source)
at com.hyperion.css.CSSAPIImpl.initialize(Unknown Source)
at jsp_servlet._jsp._app1.__app1signin._jspService(__app1signin.java:133)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Servle
tStubImpl.java:1058)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:401)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:445)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:306)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(W
ebAppServletContext.java:5445)
at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
r.java:780)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:3105)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
The code at the client that initiates the connection:
socketFactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
SSLSocket socket = (SSLSocket) socketFactory.createSocket(host, port);
socket.setEnabledCipherSuites(CIPHERS);
socket.setEnableSessionCreation(true);
Any ideas?
Thanks -
I have created a test program to check the behaviour of setting the java.rmi.server.ignoreStubClasses property to true on the server side and not setting this flag on the client side.
This requirement is due to updation of an already running system, with stubs to a new version without stubs, without shutting down the system.
The files used by me are given below.
File Hello.java
package example.hello;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Hello extends Remote {
String sayHello() throws RemoteException;
File Server.java
package example.hello;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
public class Server implements Hello {
public Server() {}
public String sayHello() {
return "Hello, world!";
public static void main(String args[]) {
try {
LocateRegistry.createRegistry(1099);
Server obj = new Server();
Hello stub = (Hello) UnicastRemoteObject.exportObject(obj, 0);
// Bind the remote object's stub in the registry
Registry registry = LocateRegistry.getRegistry();
registry.bind("Hello", stub);
System.err.println("Server ready");
catch (Exception e)
System.err.println("Server exception: " + e.toString());
e.printStackTrace();
File Client.java
package example.hello;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class Client {
private Client() {}
public static void main(String[] args) {
String host = (args.length < 1) ? null : args[0];
try {
Registry registry = LocateRegistry.getRegistry(host);
Hello stub = (Hello) registry.lookup("Hello");
String response = stub.sayHello();
System.out.println("response: " + response);
} catch (Exception e) {
System.err.println("Client exception: " + e.toString());
e.printStackTrace();
First I run file Server.java using the following script (server.bat)
java -Djava.rmi.server.ignoreStubClasses=true -classpath .; example.hello.Server
pause
Then the client is run using the following script (client.bat)
java -classpath .; example.hello.Client 132.186.96.210
pause
While running the client, the following exception is obtained.
Client exception: java.rmi.ServerException: RemoteException occurred in server thread; nested except
java.rmi.UnmarshalException: error unmarshalling call header; nested exception is:
java.rmi.UnmarshalException: skeleton class not found but required for client version
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling call header; nested exception is:
java.rmi.UnmarshalException: skeleton class not found but required for client version
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:325)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:595)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:343)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at example.hello.Client.main(Client.java:52)
Caused by: java.rmi.UnmarshalException: error unmarshalling call header; nested exception is:
java.rmi.UnmarshalException: skeleton class not found but required for client version
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.rmi.UnmarshalException: skeleton class not found but required for client version
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:243)
... 6 more
I am not able to figure out why this thing is happening, If i also set the property java.rmi.server.ignoreStubClasses=true on the client side everything goes fine. But this I can't do. I can't set the property on the client side as the system is up and already running.
I am using JDK version 1.5.0_06. Same exception comes under JDK 6.0
Any help will be highly appreciated.I think this is a bug. When you exported the Registry from your server JVM it was also exported with java.rmi.server.ignoreStubClasses=true, but the Registry bootstrap at the client requires the 1.1 stub protocol for compatiblity reasons so you got this error. I would report this on the Bug Parade.
You could get around it by setting java.rmi.server.ignoreStubClasses after exporting the Registry.
BTW java.rmi.server.ignoreStubClasses isn't supposed to do anything at the client whether true or false so you can cut your testing space in half. -
Can't start RMI server using JAR file
I found it interesting that if I start my RMI server from
a plain directory, everything goes fine.
But if I jar all these necessary files into a jar file,
and start my RMI server with command below
java -jar server.jar
UnmarshalException and ClassNotFoundException are
thrown to indecate that my stub class can't be found
(which I'm sure my stub class is in jar file)
Why is jar file so special that it can't act like
what it originally does when it hasn't been jared?
or I really should take care of some configuration
before I really can run a jar file?
thanksTo clarify few things...
What I don't understand is that when I convert all my
directories and class files properly into the jar file, they
just can't work properly.
I don't know if it's a problem of JAR file,
or it's RMI that make this JAR file special?
I'll simulate my JAR file structure that listed below,
these structure works fine when they have'nt been
converted into JAR file.
META-INF/
META-INF/MANIFEST.MF
a/b/x1.class
a/b/x2.class
a/b/c/Y.class
a/b/c/Y_Skel.class
a/b/c/Y_Stub.class
And when I use command "java -jar server.jar"
to run my application, ClassNotFound exception
is thrown to indecate my stub class is not found.
Is there anything I can do to correct this?
thanks -
Problem connecting RMI-Server using a servlet
Hi All..
I have a RMI-client server model woring fine in AIX box.I am currently in a need to create one web client(may be with servlet or JSP).
I wrote a sample servlet which try to connect to the RMI server. But when I run the servlet Its simply try to connect and then wait for unlimited time,not even print any exception/error.
Both my RMI sevrer and Tomcat are in the same box.
I am sending the servlet code for your reference.
import java.rmi.*;
import java.rmi.registry.Registry;
import java.rmi.registry.LocateRegistry;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import ir77.mon.engine.*;
public class WebClient extends HttpServlet
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
XmlServerIntf xmlServerIntf = null;
PrintWriter out = res.getWriter();
res.setContentType("text/plain");
try{
out.println("Connecting to server......");
//Seems this one is sufficient.(either this code or the below one)
//String strServerUrl = "rmi://" + "192.168.100.22" + "/ir77.mon.engine";
//xmlServerIntf = (XmlServerIntf) Naming.lookup(strServerUrl);
//Try with this one also
Registry reg = LocateRegistry.getRegistry("192.168.100.22", 2004);
xmlServerIntf = (XmlServerIntf) reg.lookup("rmi://192.168.100.22/ir77.mon.engine");
out.println("Connected to server");
catch (Exception e){
System.out.println("Exception in WebClient"+e);
when I run the servlet in the browser with "http://192.168.100.22:8080/WebClient" its simply prints " Connecting to server......" and waits.
Note : 192.168.100.22 - where my rmi server starts and 2004 -where I created by rmiregistry.I created it using LocateRegistry.createRegistry(2004);
I have tried starting tomcat with "-security" option too but no responds as well.
Do I have to provide some grant permission in catlina.policy file?If yes what?
currently I have tried with giving all permission..
Do I need to change the RMI server code?
Any help will be highly appreciated....Hi genady,
Oh....Ya I like to...I thought no body was interested...as I didn't get any reply from anybody....
Well The first thing is that with the look up method in the servlet
it should be like :
Registry reg = LocateRegistry.getRegistry("ip address of the rmi server", port number);
RMIServerInterface = (type cast with RMIServerInterface) reg.lookup("rmi binding string");
Now you are able to get the server interface object & you can call any method.
Next you have to provide the grant permission in the catalina.policy file to the folder where you have your application like....
grant codeBase "file:${catalina.home}/webapps/ROOT/WEB-INF/classes/-" {
permission java.security.AllPermission;
Or you can give specific permissions also.
Finally you have to run the tomcat as : $catalina.sh start -security
Note: One more thing you have to keep in mind that's the structure of your application. ie com.mon.yourapp.......u have to create the same structure in tomcat's classes folder .
Its done........... -
RMI server behind firewall--must use host as name, not IP
Server is running behind a firewall, which runs such that any machine behind the firewall cannot use the external IP to get back to itself.
That is:
- outside IP = 192.171.20.5 (port forwards 1099 to 192.168.1.5:1099)
- inside IP = 192.168.1.5 (rmi server listens on 1099)
from the machine inside (192.168.1.5), it is IMPOSSIBLE to create a socket to [outside ip](192.171.20.5), port 1099, and expect it to get back to the machine inside--the firewall prohibits this.
I -can- use name-based lookups, such that I can edit the hosts file on the inside box to route (myhost.com to 192.168.1.5). So, if everyone's DNS resolves myhost.com -> 192.171.20.5, then clients anywhere can go to myhost.com:1099 and will be redirected to my internal machine (192.168.1.5:1099).
The problem with this is that the names get translated to IPs and sent back to the client.
Is there a way to keep the names as names, so that both client (using external real-world DNS entries) and server (using local hosts file) can both resolve to the proper IP addresses?
I'm starting server, as follows:
java -Djava.rmi.server.codebase=http://myhost.com/rmi/ -Djava.security.policy=/policypath/policy -Djava.rmi.server.hostname=myhost.com mypkg.myclass
The client connects and gets this message (from a connection exception):
java.rmi.ConnectException: Connection refused to host: 192.168.1.5;Server is running behind a firewall, which runs such
that any machine behind the firewall cannot use the
external IP to get back to itself.I dont really understand this statement.. Machines behind the firewall referring to the external ip would be going to the gateway, not themselves.. Or do you have an internal AND external ip on the machines behind the firewall? Or are we referring to the gateway machine as an internal machine as well as external?
That is:
- outside IP = 192.171.20.5 (port forwards 1099 to
192.168.1.5:1099)
- inside IP = 192.168.1.5 (rmi server listens on
1099)looks good, what kinda OS/firewall? If we're talking linux/ipchains (or iptables) with ip masquerading, I may be of some use to you...
from the machine inside (192.168.1.5), it is
IMPOSSIBLE to create a socket to [outside
ip](192.171.20.5), port 1099, and expect it to get
back to the machine inside--the firewall prohibits
this.If you're on the internal network, why can't you just go for the internal ip addr? If I'm understanding correctly, you want internal dns requests for myhost.com to resolve to 192.168.1.5, and external dns requests to resolve to 192.171.20.5? That should't be a problem...
I -can- use name-based lookups, such that I can edit
the hosts file on the inside box to route (myhost.com
to 192.168.1.5). So, if everyone's DNS resolves
myhost.com -> 192.171.20.5, then clients anywhere can
go to myhost.com:1099 and will be redirected to my
internal machine (192.168.1.5:1099).the hosts file has nothing to do with routing, it's simply a dns-type thing... If your dns is giving external users a 192.168 address as the ip for myhost.com, they will never get to it. 192.168 is not routable on the internet, i think most inet routes will drop packets from 192.168.x.x or 10.x.x.x.
Is there a way to keep the names as names, so that
both client (using external real-world DNS entries)
and server (using local hosts file) can both resolve
to the proper IP addresses?As long as your dns is working correctly, java doesn't care if you use ips or host names.. Hostnames are preferable, so when you change your network around, you wont affect your rmi server.
I'm starting server, as follows:
java -Djava.rmi.server.codebase=http://myhost.com/rmi/
-Djava.security.policy=/policypath/policy
-Djava.rmi.server.hostname=myhost.com mypkg.myclass
The client connects and gets this message (from a
connection exception):
java.rmi.ConnectException: Connection refused to host:
192.168.1.5;Is your server compiled with the 192.171 ip? That's not gonna work, you have to use the same IP the server is running on. I'm still not clear on your network layout, is 192.171.20.5 and 192.168.1.5 the 2 gateway ip's, or is 192.168.1.5 a physically different machine? I'd be willing to bet that your server is compiled with the external address, and if that's not the same machine, then there's no chance of that working....
There's more than port forwarding going on.. IIRC, java rmi keeps track of its own ip's.. A client request to an external ip will not connect to a server running on the internal ip, even if you forward the port, rmi itself doesn't recognize the internal as the ip it's trying to get to (even if it is true), so it bombs out.. This can happen if you run the rmi server on a gateway, and compile the server with the external ip, and try to connect to the internal ip.. If you want external machines to connect, you MUST run the server on an external ip.
Give a little more info, we'll getcha running... I'm also assuming you have full control of your network (ie, firewall/dns)
doug -
RMI Server exits early when using SSL
Hi,
Maybe someone else has encountered this one.
My RMI server works fine when I use standard sockets. I create an instance and bind it into the rmiregistry. It then waits indefinitely for connections.
When I use SSL, I can create the object instance. I can also bind it into the registry. However, it only waits a few seconds and then exits.
No exception or error is thrown (I have a catch Throwable block on my main method to be sure of this.)
As my code is adapted from the RMI SSL 'Hello World' examples found on this site) I decided to compile and run those examples. I get the same problem.
Any ideas?
This is the relevant part of my code:
public static void main(String[] args)
HelloImpl obj = null;
try
// use -clear option to get standard sockets
if (args.length > 0 && args[0].equals("-clear"))
obj = new HelloImpl();
else // otherwise default to SSL sockets
RMIClientSocketFactory csf = new RMISSLClientSocketFactory();
RMIServerSocketFactory ssf = new RMISSLServerSocketFactory();
obj = new HelloImpl(csf,ssf);
Naming.rebind("HelloServer", obj);
System.out.println("HelloServer listening for requests\n";
catch (RemoteException ex)
ex.printStackTrace();
catch (MalformedURLException ex)
ex.printStackTrace();
catch (Throwable ex)
ex.printStackTrace();Thanks for taking an interest.
I just use:
c:\j2sdk1.4.1_02\bin\rmiregistry
to start the registry.
I think the problem is with my SSL sockets. I'm guessing the reason a UnicastRemoteObject is normally kept alive (not garbage collected) in the registry is because it has a ServerSocket which is waiting for connections.
In this case, I don't think the SSLServerSocket is getting created and so my UnicastRemoteObject gets garbage collected.
However, I'm not sure why exactly. -
[Urgent] How to connect RMI Server from EJB
I'm trying to connect to an RMI server from an EJB. I have client code for the
RMI Server that already works standalone from the command line. However I am having
configuration issues with webLogic 6.1 allowing the connection to go through.
Standalone I create an RMISecurityManager, inside of the EJB I cannot do this.
How do I set up WL6.1 to allow RMI connections?
Injae LeeSome threads already posted :
Can Forms 10g access data from non-ORacle database?
Re: connect form to mysql server
Greetings....
Sim -
Hi all:
It seems the JMS server hangs in WLS 6.1 after one Tx timeout due to
some reason. The following is the tread dump. Can anyone tell me why? or
any hints?
The WLS server still functions, web server and app server both are
responding to request. Only the JMS server hangs.
The exception is also attached as follows.
Thanks.
wang minjiang
------------------------------------------------exception
ERROR | 2001-08-30 16:27:09.136 |
com.kbf.ejb.exchangerate.ExchangeRateBean_nnqi6b_Impl | |
java.sql.SQLException: The transaction is no longer active (status =
Marked rollback.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction
timed out after 31 seconds
Name=[EJB
com.kbf.ejb.exchangerate.ExchangeRateBean.getLastUpdatedRates()],Xid=18:1c1de34f6566c5b7(6971341),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=31,seconds left=30,activeThread=Thread[ExecuteThread: '13'
for queue: 'default',5,Thread Group for Queue:
'default'],ServerResourceInfo[weblogic.jdbc.jts.Connection]=(state=started,assigned=none),SCInfo[kbf+kbfServer]=(state=active),properties=({ISOLATION
LEVEL=2, weblogic.transaction.name=[EJB
com.kbf.ejb.exchangerate.ExchangeRateBean.getLastUpdatedRates()],
weblogic.jdbc=t3://192.168.100.89:80}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=kbfServer+192.168.100.89:80+kbf+,
Resources={})],CoordinatorURL=kbfServer+192.168.100.89:80+kbf+)]). No
further JDBC access is allowed within this transaction.
at weblogic.jdbc.jts.Connection.checkIfRolledBack(Connection.java:501)
at weblogic.jdbc.jts.ResultSet.next(ResultSet.java:279)
at
weblogic.jdbc.rmi.internal.ResultSetImpl.next(ResultSetImpl.java:132)
at
weblogic.jdbc.rmi.internal.ResultSetStraightReader.next(ResultSetStraightReader.java:27)
at weblogic.jdbc.rmi.SerialResultSet.next(SerialResultSet.java:71)
at
com.fairex.base.coarsegrain.CoarseGrainBean.selectData(CoarseGrainBean.java:427)
at
com.kbf.ejb.exchangerate.ExchangeRateBean.getLastUpdatedRates(ExchangeRateBean.java:51)
at
com.kbf.ejb.exchangerate.ExchangeRateBean_nnqi6b_EOImpl.getLastUpdatedRates(ExchangeRateBean_nnqi6b_EOImpl.java:207)
at
com.kbf.ejb.remotemgr.RemoteMgrBean.getOldCurrPairRates(RemoteMgrBean.java:1176)
at
com.kbf.ejb.remotemgr.RemoteMgrBean_l6efiq_EOImpl.getOldCurrPairRates(RemoteMgrBean_l6efiq_EOImpl.java:125)
at
com.kbf.ejb.remotemgr.RemoteMgrBean_l6efiq_EOImpl_WLSkel.invoke(Unknown
Source)
at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:288)
at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:257)
at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
------------------------------------------------thread dump
Full thread dump:
"HighPriority TimeEventGenerator" daemon prio=9 tid=0x989888 nid=0x8dc
waiting o
n monitor [0x1229f000..0x1229fdc4]
at java.lang.Object.wait(Native Method)
at
weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:279)
at
weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerat
or.java:138)
at java.lang.Thread.run(Thread.java:484)
"SSLListenThread" prio=5 tid=0xfbdf940 nid=0x460 runnable
[0x1224f000..0x1224fdc
4]
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:421)
at java.net.ServerSocket.implAccept(ServerSocket.java:243)
at java.net.ServerSocket.accept(ServerSocket.java:222)
at
weblogic.security.SSL.SSLServerSocket.acceptNoHandshake(SSLServerSock
et.java:126)
at
weblogic.security.SSL.SSLServerSocket.accept(SSLServerSocket.java:117
at weblogic.t3.srvr.ListenThread.run(ListenThread.java:255)
"ListenThread" prio=5 tid=0xfbdf818 nid=0x348 runnable
[0x1220f000..0x1220fdc4]
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:421)
at java.net.ServerSocket.implAccept(ServerSocket.java:243)
at java.net.ServerSocket.accept(ServerSocket.java:222)
at weblogic.t3.srvr.ListenThread.run(ListenThread.java:255)
"Application Manager Thread" prio=5 tid=0xf7194e8 nid=0x6fc waiting on
monitor [
0x121cf000..0x121cfdc4]
at java.lang.Thread.sleep(Native Method)
at
weblogic.management.mbeans.custom.ApplicationManager$ApplicationPolle
r.run(ApplicationManager.java:1016)
"MatchMaker" prio=5 tid=0xf64d410 nid=0x894 waiting on monitor
[0x1218f000..0x12
18fdc4]
at java.lang.Object.wait(Native Method)
at com.kbf.ejb.ordermgr.MatchMaker.run(MatchMaker.java:86)
at java.lang.Thread.run(Thread.java:484)
"OrderExpiryCheck" prio=5 tid=0xf11a038 nid=0x80c waiting on monitor
[0x1214f000
..0x1214fdc4]
at java.lang.Object.wait(Native Method)
at
com.kbf.startup.OrderExpiryCheck.run(OrderExpiryCheck.java:102)
at java.lang.Thread.run(Thread.java:484)
"ExcelRateServer" prio=5 tid=0xf989d48 nid=0x770 runnable
[0x1210f000..0x1210fdc
4]
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:421)
at java.net.ServerSocket.implAccept(ServerSocket.java:243)
at java.net.ServerSocket.accept(ServerSocket.java:222)
at
com.kbf.rates.ExcelRateServer.monitorRates(ExcelRateServer.java:118)
at com.kbf.rates.ARateServer.run(ARateServer.java:129)
at java.lang.Thread.run(Thread.java:484)
"RateBuffer" prio=5 tid=0xf989c20 nid=0x8d4 waiting on monitor
[0x120cf000..0x12
0cfdc4]
at java.lang.Object.wait(Native Method)
at com.kbf.rates.RateBuffer.run(RateBuffer.java:67)
at java.lang.Thread.run(Thread.java:484)
"Thread-3" prio=5 tid=0xfba9538 nid=0x580 waiting on monitor
[0x1208f000..0x1208
fdc4]
at java.lang.Thread.sleep(Native Method)
at
com.fairex.ordermatch.intf.liquidity.LiquidityImpl.run(LiquidityImpl.
java:532)
at java.lang.Thread.run(Thread.java:484)
"T754" prio=5 tid=0xfba9410 nid=0x5a8 waiting on monitor
[0x1204f000..0x1204fdc4
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at com.fairex.resource.LinearQueue.dequeue(LinearQueue.java:82)
at
com.fairex.resource.ThreadPool$PooledThread.run(ThreadPool.java:199)
"T754" prio=5 tid=0xfaed538 nid=0x78c waiting on monitor
[0x1200f000..0x1200fdc4
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at com.fairex.resource.LinearQueue.dequeue(LinearQueue.java:82)
at
com.fairex.resource.ThreadPool$PooledThread.run(ThreadPool.java:199)
"T754" prio=5 tid=0xfaed410 nid=0x5c0 waiting on monitor
[0x11fcf000..0x11fcfdc4
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at com.fairex.resource.LinearQueue.dequeue(LinearQueue.java:82)
at
com.fairex.resource.ThreadPool$PooledThread.run(ThreadPool.java:199)
"T754" prio=5 tid=0xf21b540 nid=0x248 waiting on monitor
[0x11f8f000..0x11f8fdc4
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at com.fairex.resource.LinearQueue.dequeue(LinearQueue.java:82)
at
com.fairex.resource.ThreadPool$PooledThread.run(ThreadPool.java:199)
"T754" prio=5 tid=0xf21b010 nid=0x43c waiting on monitor
[0x11f4f000..0x11f4fdc4
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at com.fairex.resource.LinearQueue.dequeue(LinearQueue.java:82)
at
com.fairex.resource.ThreadPool$PooledThread.run(ThreadPool.java:199)
"RateDB" prio=5 tid=0xfa80720 nid=0x780 waiting on monitor
[0x11f0f000..0x11f0fd
c4]
at java.lang.Object.wait(Native Method)
at com.kbf.rates.RateDB.run(RateDB.java:62)
at java.lang.Thread.run(Thread.java:484)
"T43" prio=5 tid=0xeef5ff0 nid=0x918 waiting on monitor
[0x11ecf000..0x11ecfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at com.fairex.resource.LinearQueue.dequeue(LinearQueue.java:82)
at
com.fairex.resource.ThreadPool$PooledThread.run(ThreadPool.java:199)
"Thread-2" prio=5 tid=0xefa5d38 nid=0x930 waiting on monitor
[0x11e8f000..0x11e8
fdc4]
at java.lang.Thread.sleep(Native Method)
at
com.fairex.dispatch.WebSessionManager.run(WebSessionManager.java:413)
at java.lang.Thread.run(Thread.java:484)
"ExecuteThread: '0' for queue: 'JMS.TimerTreePool'" daemon prio=5
tid=0xf0594b8
nid=0x724 waiting on monitor [0x10e4f000..0x10e4fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '3' for queue: 'JMS.TimerClientPool'" daemon prio=5
tid=0xf2d4e4
0 nid=0x6bc waiting on monitor [0x10e0f000..0x10e0fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '2' for queue: 'JMS.TimerClientPool'" daemon prio=5
tid=0xf2d4c9
0 nid=0x6b8 waiting on monitor [0x10dcf000..0x10dcfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '1' for queue: 'JMS.TimerClientPool'" daemon prio=5
tid=0xf06fb4
8 nid=0x6a4 waiting on monitor [0x10d8f000..0x10d8fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '0' for queue: 'JMS.TimerClientPool'" daemon prio=5
tid=0xef0c9a
8 nid=0x8f4 waiting on monitor [0x10d4f000..0x10d4fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '14' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf1e9e50 nid
=0x5a4 waiting on monitor [0x10d0f000..0x10d0fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '13' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf160e80 nid
=0x704 waiting on monitor [0x10ccf000..0x10ccfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '12' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf226e98 nid
=0x72c waiting on monitor [0x10c8f000..0x10c8fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '11' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf226c20 nid
=0x6e0 waiting on monitor [0x10c4f000..0x10c4fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '10' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf0b9c70 nid
=0x850 waiting on monitor [0x10c0f000..0x10c0fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '9' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xef2c558 nid=
0x2bc waiting on monitor [0x10bcf000..0x10bcfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '8' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf3e4cc8 nid=
0x8f8 waiting on monitor [0x10b8f000..0x10b8fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '7' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf1e0c20 nid=
0x608 waiting on monitor [0x10b4f000..0x10b4fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '6' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf650528 nid=
0x880 waiting on monitor [0x10b0f000..0x10b0fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '5' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf127558 nid=
0x5fc waiting on monitor [0x10acf000..0x10acfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '4' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf178ea8 nid=
0x790 waiting on monitor [0x10a8f000..0x10a8fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '3' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf127430 nid=
0x810 waiting on monitor [0x10a4f000..0x10a4fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '2' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf11bd08 nid=
0x604 waiting on monitor [0x10a0f000..0x10a0fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '1' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf11bb58 nid=
0x35c waiting on monitor [0x109cf000..0x109cfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '0' for queue: 'JmsDispatcher'" daemon prio=5
tid=0xf1ae170 nid=
0x538 waiting on monitor [0x1098f000..0x1098fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '2' for queue: 'weblogic.transaction.AsyncQueue'" daemon
prio=5
tid=0xeee1650 nid=0x3c8 waiting on monitor [0x1094f000..0x1094fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '1' for queue: 'weblogic.transaction.AsyncQueue'" daemon
prio=5
tid=0xf0205a8 nid=0x378 waiting on monitor [0x1090f000..0x1090fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '0' for queue: 'weblogic.transaction.AsyncQueue'" daemon
prio=5
tid=0xefb0450 nid=0x7b4 waiting on monitor [0x108cf000..0x108cfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '9' for queue: '__weblogic_admin_rmi_queue'" daemon
prio=5 tid=0
xf365b38 nid=0x890 waiting on monitor [0x1088f000..0x1088fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '8' for queue: '__weblogic_admin_rmi_queue'" daemon
prio=5 tid=0
xf3658c0 nid=0x220 waiting on monitor [0x1084f000..0x1084fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '7' for queue: '__weblogic_admin_rmi_queue'" daemon
prio=5 tid=0
xf2d5d18 nid=0x240 waiting on monitor [0x1080f000..0x1080fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '6' for queue: '__weblogic_admin_rmi_queue'" daemon
prio=5 tid=0
xf4b5e90 nid=0x4b4 waiting on monitor [0x107cf000..0x107cfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '5' for queue: '__weblogic_admin_rmi_queue'" daemon
prio=5 tid=0
xf4b5c18 nid=0x7f8 waiting on monitor [0x1078f000..0x1078fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '4' for queue: '__weblogic_admin_rmi_queue'" daemon
prio=5 tid=0
xf739a38 nid=0x7e4 waiting on monitor [0x1074f000..0x1074fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '3' for queue: '__weblogic_admin_rmi_queue'" daemon
prio=5 tid=0
xf098d88 nid=0x59c waiting on monitor [0x1070f000..0x1070fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '2' for queue: '__weblogic_admin_rmi_queue'" daemon
prio=5 tid=0
xf394bb0 nid=0x65c waiting on monitor [0x106cf000..0x106cfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '1' for queue: '__weblogic_admin_rmi_queue'" daemon
prio=5 tid=0
x9ad970 nid=0x4f0 waiting on monitor [0x1068f000..0x1068fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '0' for queue: '__weblogic_admin_rmi_queue'" daemon
prio=5 tid=0
xf1c0618 nid=0x754 waiting on monitor [0x1064f000..0x1064fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '1' for queue: '__weblogic_admin_html_queue'" daemon
prio=5 tid=
0xf090210 nid=0x82c waiting on monitor [0x1060f000..0x1060fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '0' for queue: '__weblogic_admin_html_queue'" daemon
prio=5 tid=
0xf0a8a28 nid=0x620 waiting on monitor [0x105cf000..0x105cfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"TimeEventGenerator" daemon prio=5 tid=0xf01ee28 nid=0x630 waiting on
monitor [0
x1058f000..0x1058fdc4]
at java.lang.Object.wait(Native Method)
at
weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:279)
at
weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerat
or.java:138)
at java.lang.Thread.run(Thread.java:484)
"TimeEventGenerator" daemon prio=5 tid=0x9adc50 nid=0x75c waiting on
monitor [0x
1054f000..0x1054fdc4]
at java.lang.Object.wait(Native Method)
at
weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:279)
at
weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerat
or.java:138)
at java.lang.Thread.run(Thread.java:484)
"SpinnerRandomSource" daemon prio=5 tid=0xf11fdb8 nid=0x658 waiting on
monitor [
0x1050f000..0x1050fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.security.SpinnerRandomBitsSource.run(SpinnerRandomBitsSource
.java:57)
at java.lang.Thread.run(Thread.java:484)
"ExecuteThread: '14' for queue: 'default'" daemon prio=5 tid=0xf3b4df0
nid=0x758
runnable [0x104cf000..0x104cfdc4]
at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
at
weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:501)
at
weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
24)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
"ExecuteThread: '13' for queue: 'default'" daemon prio=5 tid=0xf14fe08
nid=0x1bc
waiting on monitor [0x1048f000..0x1048fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '12' for queue: 'default'" daemon prio=5 tid=0xf426818
nid=0x4d0
runnable [0x1044f000..0x1044fdc4]
at weblogic.socket.NTSocketMuxer.getNextSocket(Native Method)
at
weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:501)
at
weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
24)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
"ExecuteThread: '11' for queue: 'default'" daemon prio=5 tid=0xef9cd40
nid=0x8e0
waiting on monitor [0x1040f000..0x1040fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '10' for queue: 'default'" daemon prio=5 tid=0xefa78c0
nid=0x514
waiting on monitor [0x103cf000..0x103cfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '9' for queue: 'default'" daemon prio=5 tid=0xf2d3008
nid=0x5d0
waiting on monitor [0x1038f000..0x1038fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '8' for queue: 'default'" daemon prio=5 tid=0xef51818
nid=0x6f0
waiting on monitor [0x1034f000..0x1034fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '7' for queue: 'default'" daemon prio=5 tid=0x93dda8
nid=0x7e8 w
aiting on monitor [0x1030f000..0x1030fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '6' for queue: 'default'" daemon prio=5 tid=0xf2e7db8
nid=0x71c
waiting on monitor [0x102cf000..0x102cfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '5' for queue: 'default'" daemon prio=5 tid=0xee98e78
nid=0x79c
waiting on monitor [0x1028f000..0x1028fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '4' for queue: 'default'" daemon prio=5 tid=0xf40ee70
nid=0x5b0
waiting on monitor [0x1024f000..0x1024fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '3' for queue: 'default'" daemon prio=5 tid=0xf42ee90
nid=0x650
waiting on monitor [0x1020f000..0x1020fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '2' for queue: 'default'" daemon prio=5 tid=0xf317e90
nid=0x8f0
waiting on monitor [0x101cf000..0x101cfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '1' for queue: 'default'" daemon prio=5 tid=0xef5f8c8
nid=0x6d4
waiting on monitor [0x1018f000..0x1018fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"ExecuteThread: '0' for queue: 'default'" daemon prio=5 tid=0xefd2ec0
nid=0x8b4
waiting on monitor [0x1014f000..0x1014fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:420)
at
weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:94)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:118)
"Thread-0" daemon prio=10 tid=0xf212698 nid=0x900 waiting on monitor
[0x1010f000
..0x1010fdc4]
at java.lang.Thread.sleep(Native Method)
at
weblogic.transaction.internal.TransactionManagerImpl$1.run(Transactio
nManagerImpl.java:1543)
at java.lang.Thread.run(Thread.java:484)
"Signal Dispatcher" daemon prio=10 tid=0x9a1d30 nid=0x77c waiting on
monitor [0.
.0]
"Finalizer" daemon prio=9 tid=0x952630 nid=0x76c waiting on monitor
[0xebcf000..
0xebcfdc4]
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:108)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:123)
at
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:162)
"Reference Handler" daemon prio=10 tid=0x9519a0 nid=0x63c waiting on
monitor [0x
eb8f000..0xeb8fdc4]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.javaWow Zach, comprehnsive response. I'm gonna take not of that response and
use it on my team!
Minjiang, the stack trace reports a transaction timeout. This can happen
druing a long running bean process , and will be further aggrevated if you
are running in debug mode. Try increasing the timeout in your deployment
descriptor, or, optimize your code ;)
"Zach" <[email protected]> wrote in message
news:3b8e5ac8$[email protected]..
JMS does not appear on any of the stacks in the thread dump.
Please describe the actual symptoms you are seeing (as oppposed
to the moer general statement that the JMS server hangs).
Can you get an application to attach to the server (create
an initial context and do some JNDI lookups). Can that
application then create a JMS connection, a JMS session,
and so forth. At what point does it hang. How do you
know it is hung? what is not happening? what do you
expect to happen? Do you have listeners that stop
responding? Do you see messages in the destinations
from the console? What JVM is this?
Nteo that the exception/error you posted is for an invocation of
com.kbf.ejb.remotemgr.RemoteMgrBean.getOldCurrPairRates()
which has exactly nothing to do with JMS. It is not being invoked
by JMS and does not appear to be invoking JMS.
"minjiang" <[email protected]> wrote in message
news:[email protected]..
Hi all:
It seems the JMS server hangs in WLS 6.1 after one Tx timeout due to
some reason. The following is the tread dump. Can anyone tell me why? or
any hints?
The WLS server still functions, web server and app server both are
responding to request. Only the JMS server hangs.
The exception is also attached as follows.
Thanks.
wang minjiang -
Hello All,
Does WLServer6.1 take care of having a pool of RMI Server objects, similar
to the way EJB container does it for EJBs. I guess what I am trying to
achieve is an effect of Servlets that spawn light threads per invocation
though now using RMI Server Object. I did look at the "executeThreadPool"
options which would allow for increasing performance. I am not 100%
satisfied with it though. Is there any way I can do this. Thanks,
Chirag"Pyung Yoon" <[email protected]> writes:
MediatorInterface mediator = (MediatorInterface) java.rmi.Naming.lookup("rmi://localhost:7001/TestMediator);This implies JRMP which the server does not support. You need to use t3 or iiop.
andy
Maybe you are looking for
-
File upload interface with gui_upload
Hi Experts, I am trying to use the method GUI_UPLOAD of the class CL_GUI_FRONTEND_SERVICES. But the problem is I am not getting a dialog box where we can select the file by browsing our computer.( like the browse button in Windows). I remember gettin
-
Problem with ENTITY FX TYPE in Currency Conversion
Hi Experts, I have a problem regarding currency translation. I tried to use the property FX_TYPE so as to use the value in this as filter in the ENTITY FX TYPE field of the currency conversion table. I want some rules to apply only to specific entiti
-
CS5 Copy & Pasting issues in XP & 7
We have 2 computers, one running CS5 on XP & Windows 7, both are having issues pasting the previously copied image to a new psd file. We are running actions that allow us to correct an image, resize then paste it onto an overlay. Frequently it is pas
-
MAXL "query database get ..." hangs on copied apps?
I have just migrated Essbase DEV and TEST environments to new machines without problems but now I come to do the PROD environment, I find that for all the apps I copied, all is fine except that when I click on a DB, EAS hangs. I traced this to EAS ex
-
i finished the webdb installation without any problems. but when i try to access the webdb home page i get a message saying "Verify that the TNS name in the connect string of DAD for this URL is valid" when i went to the admin/listner.htm page, i fou