0 Replies Latest reply on Jan 29, 2007 6:30 AM by Marco Huber

    Devided application ignores some classes

    Marco Huber Newbie

      Hi all,

      I have problems deviding my application in differnent ears, to use it on a distributed environment.
      At the moment I have one EAR file including the complete application (session beans, entity bean in a JAR file and all the web stuff in a WAR file).
      Now I want to devide the application in two separate ears.

      1. One for the business logic (APP-EAR)
      2. One for the web frontend (WEB-EAR)

      I devided it so far as followed:

      APP-EAR:
      +- JAR:
      +--- session beans with business logic.
      +--- entity beans
      +--- persistence context

      WEB-EAR:
      +- JAR:
      | +--- session beans for Seam.
      +- WAR:
      | +--- jsf pages, config files etc.
      +- Client-JAR of APP-EAR
      +--- including the remote interfaces and entity beans to connect to EAR1.


      The entity beans have the seam annotations @Name and @Scope, and are the same classes in both APP-EAR and Client of APP-EAR.
      The APP-EAR has no seam.properties so Seam ignore it at deployment (as expected).
      The Client of APP-EAR has the seam.properties and so Seam register the entity beans on deployment of the WEB-EAR.
      But not all entity beans will be registered as Component and the web application fails, if I try to use an IN-annotated attribute, with the message "RequiredException: In attribute requires value for component".

      I figured out that only parent classes of an inheritance are missing after deployment.

      So if I have class A and class B (which is extended from A) B is registered as compoment, A is missing. If I put A in the compoments.xml the IN-annotated attribute can be resolved.

      All worked fine as all was together in one ear.

      So do I miss something? Why are some classes ignored?

      Regards
      Marco