Remote EJB client hangs trying to connect to a clustered EJB which has not fully started in JBoss EAP 6.1.x

Solution Verified - Updated -

Issue

  • I have two EJBs in my application. One of them is defined to run at Startup and is singleton. The other one is a SLSB Clustered EJB. I want the Clustered EJB to start serving request only after the Startup EJB has completed its loading activity. Is there a way to do it?

  • If an EJB injects or depends on a resource such as an @Singleton which has not been started, the EJB's remote interface java:jboss/exported/* is already bound and this allows remote EJB clients to try to invoke it. This causes the EJB clients to hang because the EJB will not be started until its dependencies have been started.

  • Why does the EJB communication (with the nodes already running) pause while the client sets up the connection/channels to the new node - shouldn´t it happen in parallel?

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 6.0.x
    • 6.1.x

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.