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
    Steve

    If 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.
    Nagesh

    The 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?
    Thanks

    I 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

  • UnmarshalException while using prop  java.rmi.server.ignoreStubClasses=true

    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?
    thanks

    To 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 Lee

    Some threads already posted :
    Can Forms 10g access data from non-ORacle database?
    Re: connect form to mysql server
    Greetings....
    Sim

  • JMS server hangs!?

    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.java

    Wow 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

  • RMI Server Object Pooling

    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

  • Webdb 2.2 installation

    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