Reputation: 315
i'm new in Java EE and i have implemented a simple EJB-Module with a remote Interface, which i want to deploy on Wildfly 10. In the pom.xml
of the EJB-Module i have registered this to generate the:
ProcessApplicationEJBs-1.0-client.jar
ProcessApplicationEJBs-1.0.jar
On the Wildfly-Server there are other deployed applications, which should use this ejb. For me it is important, that this applications use the client classes (hide the complete implementation). My questions are:
ProcessApplicationEJBs-1.0-client.jar
? My plan was to register it as a new module in Wildfly. Is that right?ProcessApplicationEJBs-1.0.jar
. As a module as well or in the normal deployments folder? I don't want that other deployed applications can see the concrete implementation, but the server will need the concrete implementations to provide the EJB's service. Do i have a missunderstanding here? What would be a common way to bring this to work in a clean way?I would be be very grateful for your help!
Upvotes: 0
Views: 167
Reputation: 357
You can choose to create a new module for WildFly and add a dependency in your application. Or add a maven dependency to your project for the client to include the *-client.jar in the other application to be deployed together.
Benefit of a module is the class loading, if you use Local invocations (call by reference) the second option can fail if you share classes from the -client.jar because of the different classloaders. Benefit of adding it to deployment is that you can change the interface without restarting the server or create a new module.
Upvotes: 1