| = Deployments |
| :index-group: Configuration |
| :jbake-date: 2018-12-05 |
| :jbake-type: page |
| :jbake-status: published |
| |
| |
| = The 'Deployments' element in tomee.xml |
| |
| == A single jar |
| |
| To include a single jar by name, just declare a 'Deployments' element |
| with a 'jar' attribute pointing to the jar file on the file system. |
| |
| [source,xml] |
| ---- |
| <tomee> |
| ... |
| <Deployments jar="c:\my\app\superEjbs.jar" /> |
| <Deployments jar="c:\someplace\purchasing.jar" /> |
| <Deployments jar="timeTrack.jar" /> |
| </tomee> |
| ---- |
| |
| The last element in the example uses a relative path to point to the ejb |
| jar. This path will be resolved relative to the catalina.base property. |
| So, for example, of the value of catalina.base was 'c:' then TomEE |
| would look for the jar 'c:.jar'. See the [OPENEJB:Configuration] guide |
| for more details. |
| |
| == A directory of jars |
| |
| To point to a directory that contains several jar files that TomEE |
| should load, simply declare a 'Deployments' element with a 'dir' |
| attribute pointing to the directory containing the jar files. |
| |
| [source,xml] |
| ---- |
| <tomee> |
| ... |
| |
| <Deployments dir="c:\my\app\beans\" /> |
| <Deployments dir="c:\crimestopper\lib" /> |
| <Deployments dir="ejbs" /> |
| <Deployments dir="beans" /> |
| </tomee> |
| ---- |
| |
| The directories listed will be searched for jars containing |
| 'META-INF/ejb-jar.xml' files and will be added to the list of jars to |
| load if they do. Better said, it's completely safe to point to a |
| directory containing a mix of ejbs and regular jar files. TomEE will |
| simply skip over jars that do contain the required |
| 'META-INF/ejb-jar.xml' file. |
| |
| The last Deployments element declares a 'beans' directory relative to |
| catalina.base for holding ejb jars. This declaration is simply convention |
| and not required. |
| |
| == An unpacked jar |
| |
| As of 1.0 beta1, TomEE supports unpacked ejb jars. Simply meaning that |
| you don't need to pack your ejb's into a jar file in order to use them |
| in TomEE. You still need to follow the ejb jar layout and include an |
| "META-INF/ejb-jar.xml" in the directory that contains your ejbs. |
| |
| For example, if you have a directory structure like this: |
| |
| [source,java] |
| ---- |
| > C:\myapp\ |
| > C:\myapp\acmeEjbs\ |
| > C:\myapp\acmeEjbs\META-INF\ejb-jar.xml |
| > C:\myapp\acmeEjbs\org\acme\Foo.class |
| > C:\myapp\acmeEjbs\org\acme\FooBean.class |
| > C:\myapp\acmeEjbs\org\acme\FooHome.class |
| > C:\myapp\acmeEjbs\org\acme\Bar.class |
| > C:\myapp\acmeEjbs\org\acme\BarBean.class |
| > C:\myapp\acmeEjbs\org\acme\BarHome.class |
| ---- |
| |
| Then you would delcare a 'Deployments' element with the 'dir' attribute |
| set to 'C:' as shown below. |
| |
| [source,xml] |
| ---- |
| <tomee> |
| ... |
| |
| <Deployments dir="c:\myapp\acmeEjbs" /> |
| </tomee> |
| ---- |
| |
| Note that this syntax is the same as the directory syntax above. If |
| TomEE finds a META-INF directory with an 'ejb-jar.xml' fine inside, |
| then TomEE will treat the directory as an unpacked ejb jar. Otherwise |
| TomEE will look for ejb jar files to load as detailed in the above |
| section. |
| |
| == Log file |
| |
| When trying to figure out if your ejbs were loaded, the openejb.log file |
| is an incredible asset. |
| |
| If your ejbs were loaded successfully you should see entries like the |
| following (1.x and higher only): |
| |
| [source,properties] |
| ---- |
| INFO : Loaded EJBs from |
| /usr/local/openejb-1.0-beta1/beans/openejb-itests-beans.jar |
| INFO : Loaded EJBs from |
| /usr/local/openejb-1.0-beta1/beans/openejb-webadmin-clienttools.jar |
| ---- |
| |
| If your ejbs failed to load, you will see an entry similar to the |
| following. |
| |
| [source,properties] |
| ---- |
| WARN : Jar not loaded. /usr/local/openejb-1.0-beta1/beans/helloworld.jar. |
| Jar failed validation. Use the validation tool for more details |
| ---- |
| |
| Additionally, all the successfully loaded ejbs are individually listed |
| in the log file at startup. The Deployment ID listed is the JNDI name |
| used to lookup the ejb from a client of the Local or Remote Servers. The |
| beans listed below are from our test suite. |
| |
| [source,properties] |
| ---- |
| DEBUG: Deployments : 19 |
| DEBUG: Type Deployment ID |
| DEBUG: CMP_ENTITY client/tests/entity/cmp/RMI-over-IIOP/EJBHome |
| DEBUG: STATEFUL client/tests/stateful/EncBean |
| DEBUG: STATELESS client/tests/stateless/BeanManagedBasicStatelessHome |
| DEBUG: STATEFUL client/tests/stateful/BasicStatefulHome |
| DEBUG: STATELESS client/tests/stateless/EncBean |
| DEBUG: STATEFUL client/tests/stateful/BeanManagedTransactionTests/EJBHome |
| DEBUG: BMP_ENTITY client/tests/entity/bmp/RMI-over-IIOP/EJBHome |
| DEBUG: STATEFUL client/tests/stateful/RMI-over-IIOP/EJBHome |
| DEBUG: STATELESS client/tests/stateless/BeanManagedTransactionTests/EJBHome |
| DEBUG: BMP_ENTITY client/tests/entity/bmp/allowed_operations/EntityHome |
| DEBUG: CMP_ENTITY client/tests/entity/cmp/EncBean |
| DEBUG: STATEFUL client/tests/stateful/BeanManagedBasicStatefulHome |
| DEBUG: BMP_ENTITY client/tests/entity/bmp/BasicBmpHome |
| DEBUG: STATELESS client/tests/stateless/BasicStatelessHome |
| DEBUG: CMP_ENTITY client/tests/entity/cmp/BasicCmpHome |
| DEBUG: STATELESS client/tools/DatabaseHome |
| DEBUG: CMP_ENTITY client/tests/entity/cmp/allowed_operations/EntityHome |
| DEBUG: BMP_ENTITY client/tests/entity/bmp/EncBean |
| DEBUG: STATELESS client/tests/stateless/RMI-over-IIOP/EJBHome |
| ---- |