7 Replies Latest reply on Apr 15, 2013 11:41 AM by fgazmuri

    JBoss 7.1.1.Final - EJB Remote Call - java.lang.IllegalStateException: No EJB receiver available for handling On Server restart

    sanssan

      Hi, 

       

      I do have 4 JBoss stanalone instances running at MyAPPServer01 and 4 instance running at MyWEBServer.

       

      I have deployed application called quote.ear @ QTEInstance @ MyAPPServer01 and EJB Call from QTEInstance @ MyWEBServer.

       

      SERVER:

       

      Remote Interface

       

       

      package com.xyz.life.common.component.ejb.services;   
      import java.rmi.RemoteException;   
      import javax.ejb.Remote; 
      import javax.ejb.Stateless;   
      
      @Stateless(mappedName = "QuoteFacadeEJB") 
      @Remote(QuoteFacade.class) 
      public class QuoteFacadeEJB extends CommonSessionBean implements QuoteFacade {       
           private static final long serialVersionUID = -8788783322280644881L;      
       
           @Override     
           public boolean isAlive() throws RemoteException {         
                return true;     
           } 
      
      } 

       

       

      server.log

       

      16:40:25,012 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-4) JNDI bindings for session bean named QuoteFacadeEJB in deployment unit subdeployment "quote.jar" of deployment "quote.ear" are as follows:          
           java:global/quote/quote.jar/QuoteFacadeEJB!com.xyz.life.service.ejb.QuoteFacade        
           java:app/quote.jar/QuoteFacadeEJB!com.xyz.life.service.ejb.QuoteFacade        
           java:module/QuoteFacadeEJB!com.xyz.life.service.ejb.QuoteFacade        
           java:jboss/exported/quote/quote.jar/QuoteFacadeEJB!com.xyz.life.service.ejb.QuoteFacade
           java:global/quote/quote.jar/QuoteFacadeEJB
           java:app/quote.jar/QuoteFacadeEJB        
           java:module/QuoteFacadeEJB

       

       

      Client

       

       

      public void testClient() {
               try {
                   Hashtable<String, Object> jndiProps = new Hashtable<String, Object>();
                   jndiProps.put(Context.URL_PKG_PREFIXES, JNDINames.JBOSS_CLIENT_NAMING_PREFIX);
                   jndiProps.put("jboss.naming.client.ejb.context", true);
                   Context ctx = new InitialContext(jndiProps);
                   String name = "ejb:quote/quote.jar//QuoteFacadeEJB!com.xyz.life.annuity.service.ejb.QuoteFacade";
                       
                   Object ref = ctx.lookup(name);
                   QuoteFacade quoteFacade = (QuoteFacade) ref;
                   LOGGER.debug("isAlive : " + quoteFacade.isAlive());
                } catch (Exception e) {            
                     LOGGER.error("Remote Client Exception : ", e);        
           }    
      }

       

      jboss-ejb-client.xml

      <jboss-ejb-client xmlns="urn:jboss:ejb-client:1.0">     
           <client-context>        
                <ejb-receivers>            
                     <remoting-ejb-receiver outbound-connection-ref="remote-ejb-connection"/>        
                </ejb-receivers>    
           </client-context>
      </jboss-ejb-client>

       

      standalone.xml

       

      <management>
           <security-realms>    
                .............    
                <security-realm name="ejb-security-realm">    
                     <server-identities>        
                          <secret value="dGVzdA=="/>    
                     </server-identities>    
                </security-realm>
           </security-realms>
           .............
      </management>
      .............
      <profile>
           .............
           <subsystem xmlns="urn:jboss:domain:ejb3:1.2">    
                <session-bean>    
                     <stateless>        
                          <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>    
                     </stateless>    
                     <stateful default-access-timeout="5000" cache-ref="simple"/>    
                     <singleton default-access-timeout="5000"/>    
                </session-bean>    
                <mdb>    
                     <resource-adapter-ref resource-adapter-name="hornetq-ra"/>    
                     <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>    
                </mdb>    
                <pools>    
                     <bean-instance-pools>        
                          <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                          <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                     </bean-instance-pools>    
                </pools>    
                <caches>    
                     <cache name="simple" aliases="NoPassivationCache"/>    
                     <cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>    
                </caches>    
                <passivation-stores>    
                     <file-passivation-store name="file"/>    
                </passivation-stores>    
                <async thread-pool-name="default"/>    
                     <timer-service thread-pool-name="default">    
                          <data-store path="timer-service-data" relative-to="jboss.server.data.dir"/>    
                     </timer-service>    
                     <remote connector-ref="remoting-connector" thread-pool-name="default"/>    
                     <thread-pools>    
                          <thread-pool name="default">        
                               <max-threads count="10"/>        
                               <keepalive-time time="100" unit="milliseconds"/>    
                          </thread-pool>    
                     </thread-pools>
           </subsystem>
           .............
           <subsystem xmlns="urn:jboss:domain:remoting:1.1">    
                <connector name="remoting-connector" socket-binding="remoting" security-realm="ApplicationRealm"/>    
                          <outbound-connections>    
                               <remote-outbound-connection name="remote-ejb-connection" outbound-socket-binding-ref="remote-ejb" username="ejbuser" security-realm="ejb-security-realm">        
                                    <properties>        
                                         <property name="SASL_POLICY_NOANONYMOUS" value="false"/>        
                                         <property name="SSL_ENABLED" value="false"/>        
                                    </properties>    
                               </remote-outbound-connection>    
                          </outbound-connections>
           </subsystem>
           .............
      </profile>
      .............
      <socket-binding-group name="standard-sockets" default-interface="any" port-offset="${jboss.socket.binding.port-offset:0}">
           <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:6992}"/>
           <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9988}"/>
           <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9446}"/>
           <socket-binding name="ajp" port="8012"/> <socket-binding name="https" port="8446"/>
           <socket-binding name="osgi-http" interface="management" port="8192"/>
           <socket-binding name="remoting" port="4453"/>
           <socket-binding name="txn-recovery-environment" port="4737"/>
           <socket-binding name="txn-status-manager" port="4727"/>
           <socket-binding name="messaging" port="5445"/>
           <socket-binding name="messaging-throughput" port="5455"/>
           <outbound-socket-binding name="mail-smtp">    
                <remote-destination host="localhost" port="25"/>
           </outbound-socket-binding>
           <outbound-socket-binding name="remote-ejb">    
                <remote-destination host="
      MyAPPServer0" port="4451"/>
           </outbound-socket-binding>
      </socket-binding-group>

       

      The same Service is working on below scenario:

      EJB Server : QTEInstance @ MyAPPServer01

      EJB Client : IFAInstance @ MyAPPServer01, Yes on the same server.

       

      The same Service is not working on below scenario:

      EJB Server : QTEInstance @ MyAPPServer01

      EJB Client : QTEInstance @ MyWEBServer01, Yes on the Difference server.


      But, it is failing when from Other server. it was working well earlier. After couple of restarts, it started failing with

      27.02.2013 13:00:34.259 [ERROR] - [FrameworkManager        
      ] - Quote EJB Service not available : 
      
      java.lang.IllegalStateException: No EJB receiver available for handling [appName:quote,modulename:quote.jar,distinctname:] combination for invocation context org.jboss.ejb.client.EJBClientInvocationContext@65f994f2
      
      at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:584)
      
      at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:119)
      
      at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181)
      
      at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136)
      
      at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121)
      
      at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104)
      
      at $Proxy10.isAlive(Unknown Source)
      
       
      
      

       

      Node names are Unique on APP server (EJB Server) and WEB Server (EJB Clients).

       

      any idea? Still, i am wondering, how it was working ealier and why it is not now? Please help me.

       

      Any more infomation, i would be happy to post.

        • 1. Re: JBoss 7.1.1.Final - EJB Remote Call - java.lang.IllegalStateException: No EJB receiver available for handling On Server restart
          wdfink

          I think I did not understand what you mean.

           

          But there are several fixes in later JBoss versions and you might git 7.1.3 (only available as a tag, you have to build it) or use a nightly build.

          What the client mean? What kind of app it is?

           

          You might have a look into this quickstart, you will find several approaches within the app-main or app-web

          • 2. Re: JBoss 7.1.1.Final - EJB Remote Call - java.lang.IllegalStateException: No EJB receiver available for handling On Server restart
            sanssan

            Thanks for the reply.

             

            I do have an application called quote (EAR application) deployed at JBoss intance (QTEInstance) @ MyAPPServer01 server. This EAR has the EJB Service and I have posted the log reference for EJB service deployment.

             

            Now, i do have 2 EJB clients. One from same server but difference instance (IFAInstance). That EJB Client able to connect with service and it works well.

             

            But, Other EJB Client which has been deployed as WAR at JBoss instance (QTEInstance) @ MyWEBServer01 server. But, this failed with about error message.

             

            Strange things is: It worked earlier. I didn't rebuild/redeploy anything. After couple of restarts, it started failing. Same type of service is available on many services. They are working and failing sometime.

             

            Am I missing anything?

             

            I have used unique Node names in one single server. But, the same node name has been used for another JBoss instance @ different server. means node name QTEIntance used for 2 instances. One at MyAPPServer01 and another on at MyWEBServer01.

             

            How it was working earlier and started failing now?

             

            I hope, i am not confusing and would be happy to provide more information if required.

            • 3. Re: JBoss 7.1.1.Final - EJB Remote Call - java.lang.IllegalStateException: No EJB receiver available for handling On Server restart
              sanssan

              Hi,

               

              I have enabled TRACE level Logging for remoting, client..etc Please find the logs below:

               

              11:51:15,671 INFO  [org.jboss.as.configadmin] (ServerService Thread Pool -- 26) JBAS016200: Activating ConfigAdmin Subsystem
              11:51:15,798 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 44) JBAS013101: Activating Security Subsystem
              11:51:15,762 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 31) JBAS010280: Activating Infinispan subsystem.
              11:51:16,575 DEBUG [org.jboss.ejb.client.EJBClientPropertiesLoader] (ServerService Thread Pool -- 30) Looking for jboss-ejb-client.properties using classloader ModuleClassLoader for Module "org.jboss.as.controller:main" from local module loader @3215b74b (roots: /opt/LVjboss/current/modules)
              11:51:15,794 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 38) JBAS011800: Activating Naming Subsystem
              11:51:15,771 INFO  [org.jboss.as.osgi] (ServerService Thread Pool -- 39) JBAS011940: Activating OSGi Subsystem
              11:51:16,629 DEBUG [org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector] (ServerService Thread Pool -- 30) EJB client context org.jboss.ejb.client.EJBClientContext@477cb451 will have no EJB receivers associated with it since there was no EJB client configuration available to create the receivers
              11:51:15,816 INFO  [org.jboss.as.webservices] (ServerService Thread Pool -- 48) JBAS015537: Activating WebServices Extension
              11:51:16,706 TRACE [org.jboss.remoting.endpoint] (MSC service thread 1-1) Completed open of endpoint "jbossqte-web" <5eedf162>
              11:51:16,707 TRACE [org.jboss.remoting.endpoint] (MSC service thread 1-1) Allocated tick to 1 of endpoint "jbossqte-web" <5eedf162> (opened Connection provider for remote)
              11:51:16,707 TRACE [org.jboss.remoting.endpoint] (MSC service thread 1-1) Adding connection provider registration named 'remote': Remoting remote connection provider 5782899e for endpoint "jbossqte-web" <5eedf162>
              11:51:16,801 INFO  [org.jboss.as.naming] (MSC service thread 1-1) JBAS011802: Starting Naming Service
              11:51:16,812 INFO  [org.jboss.as.security] (MSC service thread 1-2) JBAS013100: Current PicketBox version=4.0.7.Final
              11:51:16,827 INFO  [org.jboss.as.mail.extension] (MSC service thread 1-1) JBAS015400: Bound mail session [java:jboss/mail/Default]
              11:51:17,790 INFO  [org.apache.coyote.ajp.AjpProtocol] (MSC service thread 1-2) Starting Coyote AJP/1.3 on ajp--0.0.0.0-8015
              11:51:18,366 INFO  [org.jboss.ws.common.management.AbstractServerConfig] (MSC service thread 1-1) JBoss Web Services - Stack CXF Server 4.0.2.GA
              11:51:19,980 INFO  [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3)
              11:51:20,153 INFO  [org.jboss.as.connector] (MSC service thread 1-1) JBAS010408: Starting JCA Subsystem (JBoss IronJacamar 1.0.9.Final)
              11:51:20,981 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-2) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]
              11:51:21,398 INFO  [org.jboss.as.remoting] (MSC service thread 1-1) JBAS017100: Listening on 127.22.0.1/MyWEBServer01:6995
              11:51:21,453 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-1) JBAS015012: Started FileSystemDeploymentService for directory /opt/LVjboss/7.1.1/jbossqte/deployments
              11:51:21,454 TRACE [org.jboss.remoting.endpoint] (MSC service thread 1-1) Allocated tick to 2 of endpoint "jbossqte-web" <5eedf162> (opened Connection provider for remote://)
              11:51:21,455 TRACE [org.jboss.remoting.endpoint] (MSC service thread 1-1) Adding connection provider registration named 'remote://': Remoting remote connection provider 15f25cf for endpoint "jbossqte-web" <5eedf162>
              11:51:21,457 INFO  [org.jboss.as.remoting] (MSC service thread 1-1) JBAS017100: Listening on /0.0.0.0:4456
              11:51:21,486 INFO  [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) JBAS015003: Found quote.war in deployment directory. To trigger deployment create a file called quote.war.dodeploy
              11:51:21,719 INFO  [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report
              JBAS014775:    New missing/unsatisfied dependencies:
                    service jboss.binding.http (missing) dependents: [service jboss.web.connector.http] 
              
              11:51:21,762 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015876: Starting deployment of "quote.war"
              11:51:27,324 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry xercesImpl.jar in "/content/quote.war/WEB-INF/lib/saaj-impl.jar"  does not point to a valid jar for a Class-Path reference.
              11:51:27,327 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry dom.jar in "/content/quote.war/WEB-INF/lib/saaj-impl.jar"  does not point to a valid jar for a Class-Path reference.
              11:51:27,328 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry activation.jar in "/content/quote.war/WEB-INF/lib/saaj-impl.jar"  does not point to a valid jar for a Class-Path reference.
              11:51:27,334 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry commons-logging.jar in "/content/quote.war/WEB-INF/lib/struts.jar"  does not point to a valid jar for a Class-Path reference.
              11:51:27,336 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry jakarta-oro.jar in "/content/quote.war/WEB-INF/lib/struts.jar"  does not point to a valid jar for a Class-Path reference.
              11:51:27,337 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) Class Path entry xercesImpl.jar in "/content/quote.war/WEB-INF/lib/xalan.jar"  does not point to a valid jar for a Class-Path reference.
              11:51:29,304 TRACE [org.jboss.remoting.endpoint] (MSC service thread 1-1) Allocated tick to 3 of endpoint "jbossqte-web" <5eedf162> (opened Connection to /MyAPPServer01:4451)
              11:51:29,317 TRACE [org.jboss.remoting.remote] (MSC service thread 1-1) Attempting to connect to "/MyAPPServer01:4451" with options {org.xnio.Options.SASL_POLICY_NOANONYMOUS=>false,org.xnio.Options.SSL_ENABLED=>true,org.xnio.Options.SASL_DISALLOWED_MECHANISMS=>[JBOSS-LOCAL-USER],org.xnio.Options.SSL_STARTTLS=>true,org.xnio.Options.SASL_POLICY_NOPLAINTEXT=>false}
              11:51:29,844 TRACE [org.jboss.remoting.remote] (Remoting "jbossqte-web" read-1) Setting read listener to org.jboss.remoting3.remote.ClientConnectionOpenListener$Greeting@a813bba
              11:51:29,855 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" read-1) Received java.nio.HeapByteBuffer[pos=23 lim=8192 cap=8192]
              11:51:29,856 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" read-1) Client received greeting
              11:51:29,857 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" read-1) Client received server name: MyAPPServer01.xyz.net
              11:51:29,858 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" read-1) Client sending capabilities request
              11:51:29,907 TRACE [org.jboss.remoting.remote] (Remoting "jbossqte-web" read-1) Setting read listener to org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities@d09bd58
              11:51:29,908 TRACE [org.jboss.remoting.remote.connection] (Remoting "jbossqte-web" read-1) Sent message java.nio.HeapByteBuffer[pos=18 lim=18 cap=8192] (direct)
              11:51:29,908 TRACE [org.jboss.remoting.remote.connection] (Remoting "jbossqte-web" read-1) Flushed channel (direct)
              11:51:29,929 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" read-1) Client received capabilities response
              11:51:29,929 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" read-1) Client received capability: version 1
              11:51:29,930 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" read-1) Client received capability: remote endpoint name "jbossqte-web"
              11:51:29,930 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" read-1) Client received capability: SASL mechanism JBOSS-LOCAL-USER
              11:51:29,930 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" read-1) Client received capability: SASL mechanism DIGEST-MD5
              11:51:29,931 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" read-1) SASL mechanism DIGEST-MD5 added to allowed set
              11:51:29,949 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" read-1) Client initiating authentication using mechanism DIGEST-MD5
              11:51:30,219 TRACE [org.jboss.remoting.remote.connection] (Remoting "jbossqte-web" task-1) Sent message java.nio.HeapByteBuffer[pos=12 lim=12 cap=8192] (direct)
              11:51:30,223 TRACE [org.jboss.remoting.remote.connection] (Remoting "jbossqte-web" task-1) Flushed channel (direct)
              11:51:30,227 TRACE [org.jboss.remoting.remote] (Remoting "jbossqte-web" task-1) Setting read listener to org.jboss.remoting3.remote.ClientConnectionOpenListener$Authentication@1ca13466
              11:51:30,232 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" read-1) Client received authentication challenge
              11:51:30,240 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" task-2) Client sending authentication response
              11:51:30,247 TRACE [org.jboss.remoting.remote.connection] (Remoting "jbossqte-web" task-2) Sent message java.nio.HeapByteBuffer[pos=274 lim=274 cap=8192] (direct)
              11:51:30,248 TRACE [org.jboss.remoting.remote.connection] (Remoting "jbossqte-web" task-2) Flushed channel (direct)
              11:51:30,261 TRACE [org.jboss.remoting.remote.client] (Remoting "jbossqte-web" read-1) Client received authentication complete
              11:51:30,265 TRACE [org.jboss.remoting.endpoint] (Remoting "jbossqte-web" task-3) Registered successful result org.jboss.remoting3.remote.ClientConnectionOpenListener$Authentication$2$1@77dc0a46
              11:51:30,284 TRACE [org.jboss.remoting.remote] (Remoting "jbossqte-web" task-3) Setting read listener to org.jboss.remoting3.remote.RemoteReadListener@67fd5d12
              11:51:30,290 DEBUG [org.jboss.ejb.client.EJBClientContext] (MSC service thread 1-1) Skipping registration of receiver Remoting connection EJB receiver [connection=Remoting connection <2ae97e14>,channel=jboss.ejb,nodename=jbossqte-web] since an EJB receiver already exists for node name jbossqte-web in client context org.jboss.ejb.client.EJBClientContext@77d56b09
              11:51:31,031 WARN  [org.jboss.web] (MSC service thread 1-2) JBAS018204: Clustering not supported, falling back to non-clustered session manager
              11:51:32,276 INFO  [org.apache.struts.util.PropertyMessageResources] (MSC service thread 1-2) Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
              11:51:32,287 INFO  [org.apache.struts.util.PropertyMessageResources] (MSC service thread 1-2) Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
              11:51:32,717 INFO  [org.apache.struts.util.PropertyMessageResources] (MSC service thread 1-2) Initializing, config='ApplicationResources', returnNull=true
              11:51:32,886 INFO  [org.apache.struts.tiles.TilesPlugin] (MSC service thread 1-2) Tiles definition factory loaded for module ''.
              11:51:33,179 INFO  [org.jboss.ejb.client] (MSC service thread 1-2) JBoss EJB Client version 1.0.5.Final
              11:51:33,256 INFO  [org.apache.struts.validator.ValidatorPlugIn] (MSC service thread 1-2) Loading validation rules file from '/WEB-INF/validator-rules.xml'
              11:51:33,297 INFO  [org.apache.struts.validator.ValidatorPlugIn] (MSC service thread 1-2) Loading validation rules file from '/WEB-INF/validation.xml'
              11:51:33,428 INFO  [org.apache.catalina.startup.ContextConfig] (MSC service thread 1-2) WARNING: Security role name Authenticated_users used in an <auth-constraint> without being defined in a <security-role>
              11:51:33,439 INFO  [org.jboss.web] (MSC service thread 1-2) JBAS018210: Registering web context: /quote
              11:51:33,449 INFO  [org.jboss.as] (MSC service thread 1-2) JBAS015951: Admin console listening on http://M:9989
              11:51:33,450 ERROR [org.jboss.as] (MSC service thread 1-2) JBAS015875: JBoss AS 7.1.1.Final "Brontes" started (with errors) in 23722ms - Started 600 of 682 services (1 services failed or missing dependencies, 79 services are passive or on-demand)
              11:51:33,590 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS018559: Deployed "quote.war"
              

               

               

              I hope, this helps...

               

              Is it something to do with JNDI Name?

              • 4. Re: JBoss 7.1.1.Final - EJB Remote Call - java.lang.IllegalStateException: No EJB receiver available for handling On Server restart
                nickarls

                Strange that missing http is at INFO. Are there no ERROR level messages before that?

                • 5. Re: JBoss 7.1.1.Final - EJB Remote Call - java.lang.IllegalStateException: No EJB receiver available for handling On Server restart
                  jaikiran

                  I haven't fully understood the problem. But, here are a few things you should do to rule out some obvious issues:

                   

                  1) If possible use a higher version than 7.1.1.Final. You can do this by building from a tag on github or by using the latest nightly builds

                  2) Whichever version you use, make sure you start the instances with a unique -Djboss.node.name value, since you mention you have more than one instance on the same machine.

                  3) If it still fails, then *don't* post about what is succeeding, it only adds to the confusion. Just post what's failing and post the relevant configs and logs.

                  • 6. Re: JBoss 7.1.1.Final - EJB Remote Call - java.lang.IllegalStateException: No EJB receiver available for handling On Server restart
                    sanssan

                    Thanks Nicklas. Nope, there is no error before that. http porting has been handled outside and http is working well.

                     

                    Jai,

                     

                    I am sorry, if It is confusion. The problem is : EJB call from Remote server is failing after couple of restarts. I have used the JNDI path, you suggested earlier and it worked well. After that, I didn't make any changes. But, it started failing with "java.lang.IllegalStateException: No EJB receiver available for handling".

                     

                    1. Will try this solution.

                    2. Yes, there is no similar node name used for instances on same server.

                    3. Sorry for the confusing. Above logs and code from failing service only. No success case's logs or code has been pasted here.

                     

                    There is a copy paste error on EJB client code: I have corrected it below:

                     

                    public void testClient() {
                             try {
                                 Hashtable<String, Object> jndiProps = new Hashtable<String, Object>();
                                 jndiProps.put(Context.URL_PKG_PREFIXES, JNDINames.JBOSS_CLIENT_NAMING_PREFIX);
                                 jndiProps.put("jboss.naming.client.ejb.context", true);
                                 Context ctx = new InitialContext(jndiProps);
                                 String name = "ejb:quote/quote.jar//QuoteFacadeEJB!com.xyz.life.service.ejb.QuoteFacade";
                                     
                                 Object ref = ctx.lookup(name);
                                 QuoteFacade quoteFacade = (QuoteFacade) ref;
                                 LOGGER.debug("isAlive : " + quoteFacade.isAlive());
                              } catch (Exception e) {            
                                   LOGGER.error("Remote Client Exception : ", e);        
                         }    
                    }

                    • 7. Re: JBoss 7.1.1.Final - EJB Remote Call - java.lang.IllegalStateException: No EJB receiver available for handling On Server restart
                      fgazmuri

                      If you work with project EAR you can use "quote" at first, but you should leave it ejb:/quote//QuoteFacadeEJB!com.xyz.life.service.ejb.QuoteFacade";

                       

                      If you work with project ".war" you can use "jboss-ejb-client.xml" but you must use jboss-ejb-client.properties

                       

                      I leave something I found in an example:

                       

                      // The JNDI lookup name for a stateless session bean has the syntax of:

                            // ejb:<appName>/<moduleName>/<distinctName>/<beanName>!<viewClassName>

                            //

                            // <appName> The application name is the name of the EAR that the EJB is deployed in

                            //           (without the .ear).  If the EJB JAR is not deployed in an EAR then this is

                            //           blank.  The app name can also be specified in the EAR's application.xml

                            //          

                            // <moduleName> By the default the module name is the name of the EJB JAR file (without the

                            //              .jar suffix).  The module name might be overridden in the ejb-jar.xml

                            //

                            // <distinctName> : AS7 allows each deployment to have an (optional) distinct name.

                            //                  This example does not use this so leave it blank.

                            //

                            // <beanName>     : The name of the session been to be invoked.

                            //

                            // <viewClassName>: The fully qualified classname of the remote interface.  Must include

                            //                  the whole package name.