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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content