2 Replies Latest reply on Jun 16, 2010 10:32 PM by Nikolay Elenkov

    CANNOT use Remote EJBs as Seam components?!?!?!

    deadlock gr Newbie

      We are using Remote EJBs as Seam components. We work on Weblogic 10.3.2 (11g) and the bundled JSF library.


      Even though we can @In ject them normally on a local WebLogic server, and even on one of our clusters, on another cluster we get a similar error:


      https://jira.jboss.org/browse/JBSEAM-4080


      There, there is a response saying that remote EJBs cannot be as Seam components.


      Three questions:
      1. Has this changed since then (April 2009)?
      2. If not, how come it is not documented? It is not a trivial issue, and I could not find anything on the documentation, nor in Seam in Action.
      3. What is the recommended workaround? Perhaps change the Seam components that use remote EJBs to Local EJBs, bundle them in an EAR and use @EJB for injection?


      Thanks, Markos

        • 1. Re: CANNOT use Remote EJBs as Seam components?!?!?!
          Arbi Sookazian Master

          I have yet to use remote EJBs as Seam components.  Must you use remote interfaces?  i.e. do you have more than one JVM in your system?  You could use web services.

          • 2. Re: CANNOT use Remote EJBs as Seam components?!?!?!
            Nikolay Elenkov Master

            deadlock gr wrote on Jun 15, 2010 10:05:



            There, there is a response saying that remote EJBs cannot be as Seam components.

            Three questions:
            1. Has this changed since then (April 2009)?


            No, not much has changed in Seam 2 since then.



            2. If not, how come it is not documented? It is not a trivial issue, and I could not find anything on the documentation, nor in Seam in Action.


            It must be mentioned somewhere, I think. Seam makes heavy use of proxies and interceptors and you can't do this stuff with remote EJBs.



            3. What is the recommended workaround? Perhaps change the Seam components that use remote EJBs to Local EJBs, bundle them in an EAR and use @EJB for injection?


            Have a Seam component that wraps access to remote EJBs and inject that. Inside you lookup from JNDI/whatever you preferred way to get a hold of a remote EJB.


            HTH