1 Reply Latest reply on Apr 3, 2004 8:37 AM by tom.baeyens

    service unavailable

    tom.baeyens

      Hi,

      I'm experiencing a problem with a clustered JBoss and maybe you would give me a hint in the right direction :-)

      This is the problem

      java.rmi.RemoteException: Service unavailable.
       at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxyHA.invoke(JRMPInvokerProxyHA.java:301)
       at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:96)
       at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
       at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:45)
       at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:100)
       at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:85)
       at $Proxy1.startProcessInstance(Unknown Source)
       at org.jbpm.ejb.ExecutionServiceRemoteTest.testGet(ExecutionServiceRemoteTest.java:23)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:324)
       at junit.framework.TestCase.runTest(TestCase.java:154)
       at junit.framework.TestCase.runBare(TestCase.java:127)
       at junit.framework.TestResult$1.protect(TestResult.java:106)
       at junit.framework.TestResult.runProtected(TestResult.java:124)
       at junit.framework.TestResult.run(TestResult.java:109)
       at junit.framework.TestCase.run(TestCase.java:118)
       at junit.framework.TestSuite.runTest(TestSuite.java:208)
       at junit.framework.TestSuite.run(TestSuite.java:203)
       at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:397)
       at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:281)
       at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:173)


      The problem occurs after the first method that updates in the database : startProcessInstance in my test case ...

      public void testGet() throws Exception {
       Properties properties = new Properties();
       properties.put( Context.INITIAL_CONTEXT_FACTORY ,"org.jnp.interfaces.NamingContextFactory");
       properties.put( Context.PROVIDER_URL,"localhost:1100");
       properties.put( Context.URL_PKG_PREFIXES,"jboss.naming:org.jnp.interfaces");
      
       for ( int i = 0; i < 50; i++ ) {
       JbpmEjbServiceLocator jbpmEjbServiceLocator = new JbpmEjbServiceLocator( properties );
       ExecutionServiceRemote executionServiceRemote = null;
       executionServiceRemote = jbpmEjbServiceLocator.getExecutionServiceRemote();
       Definition definition = executionServiceRemote.getLatestProcessDefinition( "the state process" );
      
      // THIS IS THE LINE InvocationLog invocationLog = executionServiceRemote.startProcessInstance( "remote app-client test runner", definition.getId(), null, null );
      // THIS IS THE LINE
      
       ProcessInstance instance = invocationLog.getProcessInstance();
       executionServiceRemote.endOfState( "testrunner", instance.getRoot().getId(), null, null );
       jbpmEjbServiceLocator.release( executionServiceRemote );
       }
       }



      I think I configured my environment properties in the InitialContext correct, no ? I got them from the clustering documentation.

      The implementation of method startProcessInstance finishes without problems.... at least the log from the last line in the method shows up on the screen without problems...

      I looked at the jboss sourcecode and the exception originates where it says something like tried all nodes of the cluster and can't get any decent response from any of them....

      FYI : There is only one node in the cluster (localhost)

      Possibly this is not enough to pinpoint the problem. But maybe I could already get a little further if someone could tell me how I turn on the debug logging in my application client (= eclipse test runner)

      Thanks for your attention. Any hint is appreciated.

      Regards, Tom.

        • 1. Re: service unavailable
          tom.baeyens

          BTW, I use jboss-3.2.3

          I found the problem but the error message pointed me in a complete wrong direction. Therefor...

          Feature request : when an object that is returned from a client is not serializable, throw an appropriate exception on the server and the client.

          Now, the exception is masked on the server and I get a ServiceUnavailableException at the client side.

          Regards, Tom.