TOMEE-2316 Convert Markdown files to Asciidoc in the docs folder - 7
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/329eb60a Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/329eb60a Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/329eb60a Branch: refs/heads/master Commit: 329eb60a8066516e804dcb9a55bf968786437a8b Parents: 388460f Author: Carlos Chacin <[email protected]> Authored: Wed Dec 5 22:07:23 2018 -0800 Committer: Carlos Chacin <[email protected]> Committed: Wed Dec 5 22:07:23 2018 -0800 ---------------------------------------------------------------------- docs/local-client-injection.adoc | 88 ++ docs/local-client-injection.md | 87 -- docs/local-server.adoc | 56 + docs/local-server.md | 61 -- docs/lookup-of-other-ejbs-example.adoc | 146 +++ docs/lookup-of-other-ejbs-example.md | 149 --- docs/managedcontainer-config.adoc | 42 + docs/managedcontainer-config.md | 26 - docs/manual-installation.adoc | 145 +++ docs/manual-installation.md | 224 ---- docs/maven.adoc | 61 ++ docs/maven.md | 42 - docs/maven/build-mojo.adoc | 1169 ++++++++++++++++++++ docs/maven/build-mojo.md | 1426 ------------------------ docs/maven/configtest-mojo.adoc | 1086 +++++++++++++++++++ docs/maven/configtest-mojo.md | 1328 ----------------------- docs/maven/debug-mojo.adoc | 1139 ++++++++++++++++++++ docs/maven/debug-mojo.md | 1395 ------------------------ docs/maven/deploy-mojo.adoc | 196 ++++ docs/maven/deploy-mojo.md | 255 ----- docs/maven/exec-mojo.adoc | 1277 ++++++++++++++++++++++ docs/maven/exec-mojo.md | 1551 --------------------------- docs/maven/help-mojo.adoc | 115 ++ docs/maven/help-mojo.md | 149 --- docs/maven/index.adoc | 176 +++ docs/maven/index.md | 148 --- docs/maven/list-mojo.adoc | 132 +++ docs/maven/list-mojo.md | 169 --- docs/maven/run-mojo.adoc | 1139 ++++++++++++++++++++ docs/maven/run-mojo.md | 1395 ------------------------ docs/maven/start-mojo.adoc | 1139 ++++++++++++++++++++ docs/maven/start-mojo.md | 1395 ------------------------ docs/maven/stop-mojo.adoc | 1086 +++++++++++++++++++ docs/maven/stop-mojo.md | 1328 ----------------------- docs/maven/undeploy-mojo.adoc | 159 +++ docs/maven/undeploy-mojo.md | 209 ---- 36 files changed, 9351 insertions(+), 11337 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/329eb60a/docs/local-client-injection.adoc ---------------------------------------------------------------------- diff --git a/docs/local-client-injection.adoc b/docs/local-client-injection.adoc new file mode 100644 index 0000000..d95de42 --- /dev/null +++ b/docs/local-client-injection.adoc @@ -0,0 +1,88 @@ +# Local Client Injection +:index-group: Testing Techniques +:jbake-date: 2018-12-05 +:jbake-type: page +:jbake-status: published + +:jbake-title: OpenEJB 3.1.1 or later required} + +The _@LocalClient_ annotation (org.apache.openejb.api.LocalClient) is an +innovation that crosses concepts of an Java EE Application Client with a +plain Java SE client. This particular annotation is focused on clients +of an Embeddable EJB container, i.e. local clients. There is another +annotation in development called @RemoteClient that will be focused on +remote clients; clients running outside the vm the container runs. + +Any clients annotated with @LocalClient will be scanned at deployment +time for usage of injection-related annotations. The references in the +@LocalClient will be processed with the application just as if the class +was a Java EE Application Client module, but with a few slight +differences: + +[arabic] +. Declaring field/method injection points as 'static' is not required +. References to EntityManagers via @PersistenceContext are allowed +. References to local business interfaces via @EJB is allowed +. References to UserTransaction via @Resource is allowed + +As well since this is not a heavyweight Java EE Application Client, you +are not required to use any special packaging or command-line parameters +to run the client. Your client can be a Unit Test or any plain java code +that needs to pull objects from the Embedded EJB container. Classes with +@LocalClient can be placed in a Client module or an EJB module. A given +module may have as many classes annotated with @LocalClient as it +wishes. + +# Injection + +The injection occurs via acquiring a LocalInitialContext via the +LocalInitialContextFactory and calling _bind("inject", instance)_ +passing in the instantiated local client object: + +.... +@LocalClient +public class MoviesTest extends TestCase { + + @EJB + private Movies movies; + + @Resource + private UserTransaction userTransaction; + + @PersistenceContext + private EntityManager entityManager; + + public void setUp() throws Exception { + Properties p = new Properties(); + p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory"); + InitialContext initialContext = new InitialContext(p); + initialContext.bind("inject", this); + } + + //... other test methods +} +.... + +# Discovery + +All EJB modules are scanned for @LocalClient classes, even if those EJB +Modules are inside .war files as with the +link:collapsed-ear.html[Collapsed EAR] . As well any modules that +contain a META-INF/application-client.xml file will be scanned for +@LocalClient classes. + +If you see the following error message and are absolutely sure the +module containing your @LocalClient class is being properly identified +as an EJB module or a Client module, than it is possible you are seeing +some classloading issues. + +\{panel} javax.naming.NamingException: Unable to find injection +meta-data for org.superbiz.MyClient. Ensure that class was annotated +with @org.apache.openejb.api.LocalClient and was successfully discovered +and deployed. \{panel} + +If you encounter this try setting this openejb-specific boot flag so +that annotations will be treated specially and always loaded by the +parent classloader + +`openejb.tempclassloader.skip=annotations` http://git-wip-us.apache.org/repos/asf/tomee/blob/329eb60a/docs/local-client-injection.md ---------------------------------------------------------------------- diff --git a/docs/local-client-injection.md b/docs/local-client-injection.md deleted file mode 100644 index 3504837..0000000 --- a/docs/local-client-injection.md +++ /dev/null @@ -1,87 +0,0 @@ -index-group=Testing Techniques -type=page -status=published -title=Local Client Injection -~~~~~~ -{note:title=OpenEJB 3.1.1 or later required} - -The *@LocalClient* annotation (org.apache.openejb.api.LocalClient) is an -innovation that crosses concepts of an Java EE Application Client with a -plain Java SE client. This particular annotation is focused on clients of -an Embeddable EJB container, i.e. local clients. There is another -annotation in development called @RemoteClient that will be focused on -remote clients; clients running outside the vm the container runs. - -Any clients annotated with @LocalClient will be scanned at deployment time -for usage of injection-related annotations. The references in the -@LocalClient will be processed with the application just as if the class -was a Java EE Application Client module, but with a few slight differences: - -1. Declaring field/method injection points as 'static' is not required -1. References to EntityManagers via @PersistenceContext are allowed -1. References to local business interfaces via @EJB is allowed -1. References to UserTransaction via @Resource is allowed - -As well since this is not a heavyweight Java EE Application Client, you are -not required to use any special packaging or command-line parameters to run -the client. Your client can be a Unit Test or any plain java code that -needs to pull objects from the Embedded EJB container. Classes with -@LocalClient can be placed in a Client module or an EJB module. A given -module may have as many classes annotated with @LocalClient as it wishes. - -<a name="LocalClientInjection-Injection"></a> -# Injection - -The injection occurs via acquiring a LocalInitialContext via the -LocalInitialContextFactory and calling _bind("inject", instance)_ passing -in the instantiated local client object: - - - @LocalClient - public class MoviesTest extends TestCase { - - @EJB - private Movies movies; - - @Resource - private UserTransaction userTransaction; - - @PersistenceContext - private EntityManager entityManager; - - public void setUp() throws Exception { - Properties p = new Properties(); - p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory"); - InitialContext initialContext = new InitialContext(p); - initialContext.bind("inject", this); - } - - //... other test methods - } - - -<a name="LocalClientInjection-Discovery"></a> -# Discovery - -All EJB modules are scanned for @LocalClient classes, even if those EJB -Modules are inside .war files as with the [Collapsed EAR](collapsed-ear.html) -. As well any modules that contain a META-INF/application-client.xml file -will be scanned for @LocalClient classes. - -If you see the following error message and are absolutely sure the module -containing your @LocalClient class is being properly identified as an EJB -module or a Client module, than it is possible you are seeing some -classloading issues. - -{panel} -javax.naming.NamingException: Unable to find injection meta-data for -org.superbiz.MyClient. Ensure that class was annotated with [email protected] and was successfully discovered and -deployed. -{panel} - -If you encounter this try setting this openejb-specific boot flag so that -annotations will be treated specially and always loaded by the parent -classloader - -`openejb.tempclassloader.skip=annotations` http://git-wip-us.apache.org/repos/asf/tomee/blob/329eb60a/docs/local-server.adoc ---------------------------------------------------------------------- diff --git a/docs/local-server.adoc b/docs/local-server.adoc new file mode 100644 index 0000000..a96d1b8 --- /dev/null +++ b/docs/local-server.adoc @@ -0,0 +1,56 @@ +# Local Server +:index-group: Unrevised +:jbake-date: 2018-12-05 +:jbake-type: page +:jbake-status: published + +!http://www.openejb.org/images/diagram-local-server.gif|valign=top, +align=right, hspace=15! # Accessing EJBs Locally + +When OpenEJB embedded in your app, server, IDE, or JUnit, you can use +what we call the Local Server and avoid the network overhead and enjoy +an easy way to embedd OpenEJB. Instead of putting the app in the server, +put the server in the app! + +# Say what?! A local server? + +Yes, you read correctly. OpenEJB can be embedded and treated as your +very own personal EJB container. + +If they can have Local and Remote EJB's, why not Local and Remote EJB +Servers too? + +Haven't you ever wanted EJBs without the heavy? I mean you need the +"heavy" eventually, but not while you're developing. Well, there's the +advantage of an EJB implementation that was designed with a very clean +and well defined server-container contract, you can cut the server part +out completely! + +So, if you wish to access ejbs locally and not in client/server mode, +you can do so by embedding OpenEJB as a library and accessing ejbs +through OpenEJB's built-in IntraVM (Local) Server. Why would someone +want to do this? * Your application is a server or other middleware * +You want to write an app that can be both stand alone _and_ distributed +* To test your EJBs with JUnit and don't want to start/stop servers and +other nonsense * Imagine the power from being able to use your IDE +debugger to step from your Client all the way into your EJB and back +with no remote debugging voodoo. + +In this case, your application, test suite, IDE, or client accesses +beans as you would from any other EJB Server. The EJB Server just +happens to be running in the same virtual machine as your application. +This EJB Server is thusly called the IntraVM Server, and, for all +intense purposes, your application an IntraVM Client. + +There are some interesting differences though. The IntraVM Server isn't +a heavyweight server as one normally associates with EJB. It doesn't +open connections, launch threads for processing requests, introduce +complex classloading heirarchies, or any of those "heavy" kind of +things. All it does is dish out proxies to your app that can be used to +shoot calls right into the EJB Container. Very light, very fast, very +easy for testing, debugging, developing, etc. + +# Embedding + +!http://www.openejb.org/images/diagram-local-server.gif|valign=top, +align=right, hspace=15! \{include:OPENEJBx30:Embedding} http://git-wip-us.apache.org/repos/asf/tomee/blob/329eb60a/docs/local-server.md ---------------------------------------------------------------------- diff --git a/docs/local-server.md b/docs/local-server.md deleted file mode 100644 index 55f45c1..0000000 --- a/docs/local-server.md +++ /dev/null @@ -1,61 +0,0 @@ -index-group=Unrevised -type=page -status=published -title=Local Server -~~~~~~ -!http://www.openejb.org/images/diagram-local-server.gif|valign=top, -align=right, hspace=15! -<a name="LocalServer-AccessingEJBsLocally"></a> -# Accessing EJBs Locally - -When OpenEJB embedded in your app, server, IDE, or JUnit, you can use what -we call the Local Server and avoid the network overhead and enjoy an easy -way to embedd OpenEJB. Instead of putting the app in the server, put the -server in the app! - -<a name="LocalServer-Saywhat?!Alocalserver?"></a> -# Say what?! A local server? - -Yes, you read correctly. OpenEJB can be embedded and treated as your very -own personal EJB container. - -If they can have Local and Remote EJB's, why not Local and Remote EJB -Servers too? - -Haven't you ever wanted EJBs without the heavy? I mean you need the "heavy" -eventually, but not while you're developing. Well, there's the advantage of -an EJB implementation that was designed with a very clean and well defined -server-container contract, you can cut the server part out completely! - -So, if you wish to access ejbs locally and not in client/server mode, you -can do so by embedding OpenEJB as a library and accessing ejbs through -OpenEJB's built-in IntraVM (Local) Server. Why would someone want to do -this? -* Your application is a server or other middleware -* You want to write an app that can be both stand alone *and* distributed -* To test your EJBs with JUnit and don't want to start/stop servers and -other nonsense -* Imagine the power from being able to use your IDE debugger to step from -your Client all the way into your EJB and back with no remote debugging -voodoo. - -In this case, your application, test suite, IDE, or client accesses beans -as you would from any other EJB Server. The EJB Server just happens to be -running in the same virtual machine as your application. This EJB Server is -thusly called the IntraVM Server, and, for all intense purposes, your -application an IntraVM Client. - -There are some interesting differences though. The IntraVM Server isn't a -heavyweight server as one normally associates with EJB. It doesn't open -connections, launch threads for processing requests, introduce complex -classloading heirarchies, or any of those "heavy" kind of things. All it -does is dish out proxies to your app that can be used to shoot calls right -into the EJB Container. Very light, very fast, very easy for testing, -debugging, developing, etc. - -<a name="LocalServer-Embedding"></a> -# Embedding - -!http://www.openejb.org/images/diagram-local-server.gif|valign=top, -align=right, hspace=15! -{include:OPENEJBx30:Embedding} http://git-wip-us.apache.org/repos/asf/tomee/blob/329eb60a/docs/lookup-of-other-ejbs-example.adoc ---------------------------------------------------------------------- diff --git a/docs/lookup-of-other-ejbs-example.adoc b/docs/lookup-of-other-ejbs-example.adoc new file mode 100644 index 0000000..de5fb1f --- /dev/null +++ b/docs/lookup-of-other-ejbs-example.adoc @@ -0,0 +1,146 @@ +# Lookup of other EJBs Example +:index-group: Unrevised +:jbake-date: 2018-12-05 +:jbake-type: page +:jbake-status: published + +# Overview + +This example shows how to configure JNDI to lookup other EJBs using +either the _@EJB_ annotation or the _ejb-jar.xml_ deployment descriptor. + +There are a couple interesting aspects in this example intended to flush +out some of the more confusing, and perhaps frustrating, aspects of +referring to EJBs. + +* beans themselves do not have JNDI names (this was only recently added +in Java EE 6) + +This is the most frustrating and hard to accept. Java EE 5 does not have +a global namespace and therefore there is no _singular_ name for your +EJB. It does not matter what you do to your EJB, there is no standard +way to "give" the bean a name that can be used by the application +globally. + +* each EJB owns its own private _java:comp/env_ namespace +(_java:comp/env_ is not global and cannot be treated that way) +* names do not magically appear in _java:comp/env_, they must be +explicitly added. +* to get a reference to bean _B_ in the _java:comp/env_ namespace of +bean _A_, bean _A_ must declare a reference to bean _B_. + +You read this right. If you have 10 EJBs and all of them want to refer +to bean _B_, then you must declare bean _B_ as a reference 10 times +(once for each of the 10 beans). There is no standard way in Java EE 5 +to do this just once for all beans. In Java EE 6 there is a +"_java:global_" namespace, a "_java:app_" namespace, and a +"_java:module_" namespace where names can be defined with the desired +scope. Java EE 5 has only _java:comp_. + +There are two things which make this even more confusing: + +* Servlets have always defined _java:comp/env_ differently. In a webapp, +the _java:comp/env_ namespace is shared by all servlets. This is +essentially equivalent to the _java:module_ namespace in Java EE 6. +Understand there is a conflict in definition here and that for EJBs, +_java:comp_ is scoped at the component (the EJB itself) not the module +as with webapps. +* All vendors have some proprietary concept of global JNDI. So you may +be able to lookup "_java:/MyBean_" or "_MyBeanLocal_", but these are +vendor-specific and non-portable. + +As well this example shows some other interesting aspects of referring +to EJBs: + +* Two beans may use the same business interfaces, the interface alone +does not necessarily identify the exact bean +* circular references are possible + +To illustrate all of this, we have two simple @Stateless beans, +_RedBean_ and _BlueBean_. Both implement the same business local +interface, _Friend_. Both _RedBean_ and _BlueBean_ define +_java:comp/env/myFriend_ differently which is allowed as _java:comp_ is +a namespace that is private to each bean and not visible to other beans +-- so the names do not have to match. + +# The Code + +Here we show the code for _RedBean_ and _BlueBean_ and their shared +business local interface _Friend_. +\{snippet:id=code|url=openejb3/examples/lookup-of-ejbs/src/main/java/org/superbiz/ejblookup/RedBean.java|lang=java} +\{snippet:id=code|url=openejb3/examples/lookup-of-ejbs/src/main/java/org/superbiz/ejblookup/BlueBean.java|lang=java} +\{snippet:id=code|url=openejb3/examples/lookup-of-ejbs/src/main/java/org/superbiz/ejblookup/Friend.java|lang=java} + +The key items in the above are the following: - _@EJB_ has been used at +the _class level_ to declare _myFriend_ in the _java:comp/env_ namespace +of each EJB - because both beans share the _same interface_, _Friend_, +we need to add *beanName* to the _@EJB_ usage to specify the exact EJB +we want - for _BlueBean_ the _java:comp/env/myFriend_ name has been +configured to point to _RedBean_ - for _RedBean_ the +_java:comp/env/myFriend_ name has been configured to point to _BlueBean_ + +== Alternative to annotations + +If there is a desire to not use annotations, the above annotation usage +is equivalent to the following ejb-jar.xml +\{snippet:url=openejb3/examples/lookup-of-ejbs-with-descriptor/src/main/resources/META-INF/ejb-jar.xml|lang=xml} + +# Writing a unit test for the example + +Writing an unit test for this example is quite simple. We need just to +write a setup method to create and initialize the InitialContext, and +then write our test methods + +\{snippet:id=code|url=openejb3/examples/lookup-of-ejbs/src/test/java/org/superbiz/ejblookup/EjbDependencyTest.java|lang=java} + +# Running + +Running the example is fairly simple. In the "lookup-of-ejbs" directory +of the openejb:download.html[examples zip] , just run: + +___________________ +$ mvn clean install +___________________ + +Which should create output like the following. + +.... +------------------------------------------------------- + T E S T S +------------------------------------------------------- +Running org.superbiz.ejblookup.EjbDependencyTest +Apache OpenEJB 3.1.5-SNAPSHOT build: 20101129-09:51 +http://tomee.apache.org/ +INFO - openejb.home = +.... + +/Users/dblevins/work/openejb-3.1.x/examples/lookup-of-ejbs INFO - +openejb.base = +/Users/dblevins/work/openejb-3.1.x/examples/lookup-of-ejbs INFO - +Configuring Service(id=Default Security Service, type=SecurityService, +provider-id=Default Security Service) INFO - Configuring +Service(id=Default Transaction Manager, type=TransactionManager, +provider-id=Default Transaction Manager) INFO - Found EjbModule in +classpath: +/Users/dblevins/work/openejb-3.1.x/examples/lookup-of-ejbs/target/classes +INFO - Beginning load: +/Users/dblevins/work/openejb-3.1.x/examples/lookup-of-ejbs/target/classes +INFO - Configuring enterprise application: classpath.ear INFO - +Configuring Service(id=Default Stateless Container, type=Container, +provider-id=Default Stateless Container) INFO - Auto-creating a +container for bean BlueBean: Container(type=STATELESS, id=Default +Stateless Container) INFO - Enterprise application "classpath.ear" +loaded. INFO - Assembling app: classpath.ear INFO - +Jndi(name=BlueBeanLocal) --> Ejb(deployment-id=BlueBean) INFO - +Jndi(name=RedBeanLocal) --> Ejb(deployment-id=RedBean) INFO - Created +Ejb(deployment-id=RedBean, ejb-name=RedBean, container=Default Stateless +Container) INFO - Created Ejb(deployment-id=BlueBean, ejb-name=BlueBean, +container=Default Stateless Container) INFO - Deployed +Application(path=classpath.ear) Tests run: 2, Failures: 0, Errors: 0, +Skipped: 0, Time elapsed: 1.244 sec + +.... +Results : + +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 +.... http://git-wip-us.apache.org/repos/asf/tomee/blob/329eb60a/docs/lookup-of-other-ejbs-example.md ---------------------------------------------------------------------- diff --git a/docs/lookup-of-other-ejbs-example.md b/docs/lookup-of-other-ejbs-example.md deleted file mode 100644 index d4cd99d..0000000 --- a/docs/lookup-of-other-ejbs-example.md +++ /dev/null @@ -1,149 +0,0 @@ -index-group=Unrevised -type=page -status=published -title=Lookup of other EJBs Example -~~~~~~ -<a name="LookupofotherEJBsExample-Overview"></a> -# Overview - -This example shows how to configure JNDI to lookup other EJBs using either -the *@EJB* annotation or the *ejb-jar.xml* deployment descriptor. - -There are a couple interesting aspects in this example intended to flush -out some of the more confusing, and perhaps frustrating, aspects of -referring to EJBs. - - - beans themselves do not have JNDI names (this was only recently added in -Java EE 6) - -This is the most frustrating and hard to accept. Java EE 5 does not have a -global namespace and therefore there is no *singular* name for your EJB. -It does not matter what you do to your EJB, there is no standard way to -"give" the bean a name that can be used by the application globally. - - - each EJB owns its own private *java:comp/env* namespace -(*java:comp/env* is not global and cannot be treated that way) - - names do not magically appear in *java:comp/env*, they must be -explicitly added. - - to get a reference to bean *B* in the *java:comp/env* namespace of -bean *A*, bean *A* must declare a reference to bean *B*. - -You read this right. If you have 10 EJBs and all of them want to refer to -bean *B*, then you must declare bean *B* as a reference 10 times (once -for each of the 10 beans). There is no standard way in Java EE 5 to do -this just once for all beans. In Java EE 6 there is a "*java:global*" -namespace, a "*java:app*" namespace, and a "*java:module*" namespace -where names can be defined with the desired scope. Java EE 5 has only -*java:comp*. - -There are two things which make this even more confusing: - - - Servlets have always defined *java:comp/env* differently. In a -webapp, the *java:comp/env* namespace is shared by all servlets. This is -essentially equivalent to the *java:module* namespace in Java EE 6. -Understand there is a conflict in definition here and that for EJBs, -*java:comp* is scoped at the component (the EJB itself) not the module as -with webapps. - - All vendors have some proprietary concept of global JNDI. So you may be -able to lookup "*java:/MyBean*" or "*MyBeanLocal*", but these are -vendor-specific and non-portable. - -As well this example shows some other interesting aspects of referring to -EJBs: - - - Two beans may use the same business interfaces, the interface alone does -not necessarily identify the exact bean - - circular references are possible - -To illustrate all of this, we have two simple @Stateless beans, *RedBean* -and *BlueBean*. Both implement the same business local interface, -*Friend*. Both *RedBean* and *BlueBean* define -*java:comp/env/myFriend* differently which is allowed as *java:comp* is -a namespace that is private to each bean and not visible to other beans -- -so the names do not have to match. - - -<a name="LookupofotherEJBsExample-TheCode"></a> -# The Code - -Here we show the code for *RedBean* and *BlueBean* and their shared -business local interface *Friend*. -{snippet:id=code|url=openejb3/examples/lookup-of-ejbs/src/main/java/org/superbiz/ejblookup/RedBean.java|lang=java} -{snippet:id=code|url=openejb3/examples/lookup-of-ejbs/src/main/java/org/superbiz/ejblookup/BlueBean.java|lang=java} -{snippet:id=code|url=openejb3/examples/lookup-of-ejbs/src/main/java/org/superbiz/ejblookup/Friend.java|lang=java} - -The key items in the above are the following: - - *@EJB* has been used at the *class level* to declare *myFriend* in -the *java:comp/env* namespace of each EJB - - because both beans share the *same interface*, *Friend*, we need to -add **beanName** to the *@EJB* usage to specify the exact EJB we want - - for *BlueBean* the *java:comp/env/myFriend* name has been configured -to point to *RedBean* - - for *RedBean* the *java:comp/env/myFriend* name has been configured -to point to *BlueBean* - -<a name="LookupofotherEJBsExample-Alternativetoannotations"></a> -## Alternative to annotations - -If there is a desire to not use annotations, the above annotation usage is -equivalent to the following ejb-jar.xml -{snippet:url=openejb3/examples/lookup-of-ejbs-with-descriptor/src/main/resources/META-INF/ejb-jar.xml|lang=xml} - -<a name="LookupofotherEJBsExample-Writingaunittestfortheexample"></a> -# Writing a unit test for the example - -Writing an unit test for this example is quite simple. We need just to -write a setup method to create and initialize the InitialContext, and then -write our test methods - -{snippet:id=code|url=openejb3/examples/lookup-of-ejbs/src/test/java/org/superbiz/ejblookup/EjbDependencyTest.java|lang=java} - -<a name="LookupofotherEJBsExample-Running"></a> -# Running - -Running the example is fairly simple. In the "lookup-of-ejbs" directory of -the [examples zip](openejb:download.html) -, just run: - -> $ mvn clean install - -Which should create output like the following. - - - ------------------------------------------------------- - T E S T S - ------------------------------------------------------- - Running org.superbiz.ejblookup.EjbDependencyTest - Apache OpenEJB 3.1.5-SNAPSHOT build: 20101129-09:51 - http://tomee.apache.org/ - INFO - openejb.home = -/Users/dblevins/work/openejb-3.1.x/examples/lookup-of-ejbs - INFO - openejb.base = -/Users/dblevins/work/openejb-3.1.x/examples/lookup-of-ejbs - INFO - Configuring Service(id=Default Security Service, -type=SecurityService, provider-id=Default Security Service) - INFO - Configuring Service(id=Default Transaction Manager, -type=TransactionManager, provider-id=Default Transaction Manager) - INFO - Found EjbModule in classpath: -/Users/dblevins/work/openejb-3.1.x/examples/lookup-of-ejbs/target/classes - INFO - Beginning load: -/Users/dblevins/work/openejb-3.1.x/examples/lookup-of-ejbs/target/classes - INFO - Configuring enterprise application: classpath.ear - INFO - Configuring Service(id=Default Stateless Container, type=Container, -provider-id=Default Stateless Container) - INFO - Auto-creating a container for bean BlueBean: -Container(type=STATELESS, id=Default Stateless Container) - INFO - Enterprise application "classpath.ear" loaded. - INFO - Assembling app: classpath.ear - INFO - Jndi(name=BlueBeanLocal) --> Ejb(deployment-id=BlueBean) - INFO - Jndi(name=RedBeanLocal) --> Ejb(deployment-id=RedBean) - INFO - Created Ejb(deployment-id=RedBean, ejb-name=RedBean, -container=Default Stateless Container) - INFO - Created Ejb(deployment-id=BlueBean, ejb-name=BlueBean, -container=Default Stateless Container) - INFO - Deployed Application(path=classpath.ear) - Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.244 sec - - Results : - - Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 http://git-wip-us.apache.org/repos/asf/tomee/blob/329eb60a/docs/managedcontainer-config.adoc ---------------------------------------------------------------------- diff --git a/docs/managedcontainer-config.adoc b/docs/managedcontainer-config.adoc new file mode 100644 index 0000000..b0ca1a6 --- /dev/null +++ b/docs/managedcontainer-config.adoc @@ -0,0 +1,42 @@ +# ManagedContainer Configuration +:index-group: Unrevised +:jbake-date: 2018-12-05 +:jbake-type: page +:jbake-status: published + + +A ManagedContainer can be declared via xml in the +`<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file +using a declaration like the following. All properties in the element +body are optional. + +.... +<Container id="myManagedContainer" type="MANAGED"> +</Container> +.... + +Alternatively, a ManagedContainer can be declared via properties in the +`<tomee-home>/conf/system.properties` file or via Java VirtualMachine +`-D` properties. The properties can also be used when embedding TomEE +via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext` + +.... +myManagedContainer = new://Container?type=MANAGED +.... + +Properties and xml can be mixed. Properties will override the xml +allowing for easy configuration change without the need for $\{} style +variable substitution. Properties are not case sensitive. If a property +is specified that is not supported by the declared ManagedContainer a +warning will be logged. If a ManagedContainer is needed by the +application and one is not declared, TomEE will create one dynamically +using default settings. Multiple ManagedContainer declarations are +allowed. # Supported Properties + +Property + +Type + +Default + +Description http://git-wip-us.apache.org/repos/asf/tomee/blob/329eb60a/docs/managedcontainer-config.md ---------------------------------------------------------------------- diff --git a/docs/managedcontainer-config.md b/docs/managedcontainer-config.md deleted file mode 100644 index 1d95e4f..0000000 --- a/docs/managedcontainer-config.md +++ /dev/null @@ -1,26 +0,0 @@ -index-group=Unrevised -type=page -status=published -title=ManagedContainer Configuration -~~~~~~ - - -A ManagedContainer can be declared via xml in the `<tomee-home>/conf/tomee.xml` file or in a `WEB-INF/resources.xml` file using a declaration like the following. All properties in the element body are optional. - - <Container id="myManagedContainer" type="MANAGED"> - </Container> - -Alternatively, a ManagedContainer can be declared via properties in the `<tomee-home>/conf/system.properties` file or via Java VirtualMachine `-D` properties. The properties can also be used when embedding TomEE via the `javax.ejb.embeddable.EJBContainer` API or `InitialContext` - - myManagedContainer = new://Container?type=MANAGED - -Properties and xml can be mixed. Properties will override the xml allowing for easy configuration change without the need for ${} style variable substitution. Properties are not case sensitive. If a property is specified that is not supported by the declared ManagedContainer a warning will be logged. If a ManagedContainer is needed by the application and one is not declared, TomEE will create one dynamically using default settings. Multiple ManagedContainer declarations are allowed. -# Supported Properties -<table class="mdtable"> -<tr> -<th>Property</th> -<th>Type</th> -<th>Default</th> -<th>Description</th> -</tr> -</table> http://git-wip-us.apache.org/repos/asf/tomee/blob/329eb60a/docs/manual-installation.adoc ---------------------------------------------------------------------- diff --git a/docs/manual-installation.adoc b/docs/manual-installation.adoc new file mode 100644 index 0000000..ab9c7d7 --- /dev/null +++ b/docs/manual-installation.adoc @@ -0,0 +1,145 @@ +# Manual Installation +:index-group: Unrevised +:jbake-date: 2018-12-05 +:jbake-type: page +:jbake-status: published + + +== Overview + +The manual installation process is significantly harder then the +link:tomcat.html[automatic installation] which we normally recommend. In +this installation process you will do the following: + +[arabic] +. Install openejb.war +. Download openejb.war from the +http://tomee.apache.org/downloads.html[download page] +. Make webapps/openejb directory +. Change to new webapps/openejb directory +. Unpack the openejb.war file in the new directory +. Add the OpenEJB listener the conf/server.xml file +. Update the non-compliant Tomcat annotations-api.jar +. Add the OpenEJB JavaAgent to the bin/catalina.bat or bin/catalina.bat +script + +##Install openejb.war + +Once Tomcat has been link:tomcat-installation.html[installed] , the +OpenEJB plugin for Tomcat can be installed. The war can be obtained from +the http://tomee.apache.org/downloads.html[download page] + +The commands in this example are executed from within the Tomcat +installation directory. + +== Unpack OpenEJB Tomcat plugin in Tomcat webapps directory + +Be careful, this is the most error prone step. A web application does +not contain a root directory, so if you unpack it in the wrong +directory, it is difficult to undo. Please, follow this step closely, +and most importantly make sure you execute the unpack command from +within the new webapps/openejb directory + +Due to the structure of war files, you must create a new directory for +OpenEJB, change to the new directory and execute the unpack command from +within the new directory. If you get this wrong, it is difficult to +undo, so follow the steps closely. + +== Add the OpenEJB listener to Tomcat + +All Tomcat listener classes must be available in the Tomcat common class +loader, so the openejb-loader jar must be copied into the Tomcat lib +directory. + +.... + C:\apache-tomcat-6.0.14>copy webapps\openejb\lib\openejb-loader-3.0.0-SNAPSHOT.jar lib\openejb-loader.jar + 1 file(s) copied. + + apache-tomcat-6.0.14$ cp webapps/openejb/lib/openejb-loader-*.jar lib/openejb-loader.jar +.... + +Add the following +`<Listener className="org.apache.openejb.loader.OpenEJBListener" />` to +your conf/server.xml file to load the OpenEJB listener: + +The snippet is shown below + +.... +<!-- Note: A "Server" is not itself a "Container", so you may not +define subcomponents such as "Valves" at this +level. +Documentation at /docs/config/server.html + --> + +<Server port="8005" shutdown="SHUTDOWN"> +<!-- OpenEJB plugin for tomcat --> +<Listener +className="org.apache.openejb.loader.OpenEJBListener" /> + +<!--APR library loader. Documentation at /docs/apr.html --> +<Listener +className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> +.... + +== Update the Tomcat annotations-api.jar file + +Tomcat contains an old non-compliant version of the javax.annotation +classes and these invalid classes must be updated so OpenEJB can process +annotations. Simply, replace the annotations-api.jar in the Tomcat lib +directory with the updated annotations-api.jar in the OpenEJB war. + +== Add OpenEJB javaagent to Tomcat startup + +OpenJPA, the Java Persistence implementation used by OpenEJB, currently +must enhanced persistence classes to function properly, and this +requires the installation of a javaagent into the Tomcat startup +process. + +First, copy the OpenEJB JavaAgent jar into the lib directory. + +Simply, add the snippet marked below in bin/catalina.bat (Windows) or +bin/catalina.sh (Unix) file to enable the OpenEJB javaagent: + +.... +if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuli +set JAVA_OPTS=%JAVA_OPTS% +-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager +-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties" +:noJuli + + # Start of Snippet to add + rem Add OpenEJB javaagent if not exist + "%CATALINA_BASE%\webapps\openejb\lib\openejb-javaagent.jar" goto + noOpenEJBJavaagent set + JAVA_OPTS="-javaagent:%CATALINA_BASE%\webapps\openejb\lib\openejb-javaagent.jar" + %JAVA_OPTS% :noOpenEJBJavaagent + # End of Snippet to add + + +rem ----- Execute The Requested Command +--------------------------------------- +echo Using CATALINA_BASE: %CATALINA_BASE% +echo Using CATALINA_HOME: %CATALINA_HOME% + + + +# Set juli LogManager if it is present +if [OPENEJB: -r "$CATALINA_BASE"/conf/logging.properties ](openejb:--r-"$catalina_base"/conf/logging.properties-.html) +; then +JAVA_OPTS="$JAVA_OPTS +"-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" +"-Djava.util.logging.config.file="$CATALINA_BASE/conf/logging.properties" +fi + + #Start of Snippet to add + if [OPENEJB: -r "$CATALINA_BASE"/webapps/lib/openejb-javaagent.jar ](openejb:--r-"$catalina_base"/webapps/lib/openejb-javaagent.jar-.html) +; then +JAVA_OPTS=""-javaagent:$CATALINA_BASE/lib/openejb-javaagent.jar" +$JAVA_OPTS" +fi +#End of Snippet to add +.... + +##Note: The example above is an excerpt from the middle of the +bin/catalina.sh file. Search for the this section and add the snippet +shown http://git-wip-us.apache.org/repos/asf/tomee/blob/329eb60a/docs/manual-installation.md ---------------------------------------------------------------------- diff --git a/docs/manual-installation.md b/docs/manual-installation.md deleted file mode 100644 index b00fe81..0000000 --- a/docs/manual-installation.md +++ /dev/null @@ -1,224 +0,0 @@ -index-group=Unrevised -type=page -status=published -title=Manual Installation -~~~~~~ - -# Overview - -The manual installation process is significantly harder then the [automatic installation](tomcat.html) - which we normally recommend. In this installation process you will do the -following: - -1. Install openejb.war -1. Download openejb.war from the [download page](http://tomee.apache.org/downloads.html) -1. Make webapps/openejb directory -1. Change to new webapps/openejb directory -1. Unpack the openejb.war file in the new directory -1. Add the OpenEJB listener the conf/server.xml file -1. Update the non-compliant Tomcat annotations-api.jar -1. Add the OpenEJB JavaAgent to the bin/catalina.bat or bin/catalina.bat -script - -##Install openejb.war - -Once Tomcat has been [installed](tomcat-installation.html) -, the OpenEJB plugin for Tomcat can be installed. The war can be obtained -from the [download page](http://tomee.apache.org/downloads.html) - -The commands in this example are executed from within the Tomcat -installation directory. - -<a name="ManualInstallation-UnpackOpenEJBTomcatplugininTomcatwebappsdirectory"></a> -## Unpack OpenEJB Tomcat plugin in Tomcat webapps directory - -Be careful, this is the most error prone step. A web -application does not contain a root directory, so if you unpack it in the -wrong directory, it is difficult to undo. Please, follow this step -closely, and most importantly make sure you execute the unpack command -from within the new webapps/openejb directory - -Due to the structure of war files, you must create a new directory for -OpenEJB, change to the new directory and execute the unpack command from -within the new directory. If you get this wrong, it is difficult to undo, -so follow the steps closely. - -<pre><code> - C:\apache-tomcat-6.0.14>mkdir webapps\openejb - - C:\apache-tomcat-6.0.14>cd webapps\openejb - - C:\apache-tomcat-6.0.14\webapps\openejb>jar -xvf \openejb.war - created: WEB-INF/ - created: WEB-INF/classes/ - created: WEB-INF/classes/org/ - created: WEB-INF/classes/org/apache/ - created: WEB-INF/classes/org/apache/openejb/ - ...snip... - - C:\apache-tomcat-6.0.14\webapps\openejb>dir - Volume in drive C has no label. - Volume Serial Number is 0000-0000 - - Directory of C:\apache-tomcat-6.0.14\webapps\openejb - - 09/21/2007 10:19 AM <DIR> . - 09/21/2007 10:19 AM <DIR> .. - 09/21/2007 10:19 AM 1,000 index.html - 09/21/2007 10:19 AM <DIR> lib - 09/21/2007 10:19 AM 11,358 LICENSE - 09/21/2007 10:19 AM <DIR> META-INF - 09/21/2007 10:19 AM 11,649 NOTICE - 09/21/2007 10:19 AM 1,018 openejb.xml - 09/21/2007 10:19 AM 1,886 README.txt - 09/21/2007 10:19 AM <DIR> tomcat - 09/21/2007 10:19 AM <DIR> WEB-INF - 5 File(s) 26,911 bytes - 6 Dir(s) 4,633,796,608 bytes free - - C:\apache-tomcat-6.0.14\webapps\openejb>cd ..\.. - - C:\apache-tomcat-6.0.14> - - {card:label=Unix}{noformat:nopanel=true} - apache-tomcat-6.0.14$ mkdir webapps/openejb - - apache-tomcat-6.0.14$ cd webapps/openejb/ - - apache-tomcat-6.0.14/webapps/openejb$ jar -xvf path/to/openejb.war - created: WEB-INF/ - created: WEB-INF/classes/ - created: WEB-INF/classes/org/ - created: WEB-INF/classes/org/apache/ - created: WEB-INF/classes/org/apache/openejb/ - ...snip... - - apache-tomcat-6.0.14/webapps/openejb$ ls - LICENSE META-INF/ NOTICE README.txt WEB-INF/ index.html - lib/ openejb.xml tomcat/ - - apache-tomcat-6.0.14/webapps/openejb$ cd ../.. - - apache-tomcat-6.0.14$ - -</code></pre> - -<a name="ManualInstallation-AddtheOpenEJBlistenertoTomcat"></a> -## Add the OpenEJB listener to Tomcat - -All Tomcat listener classes must be available in the Tomcat common class -loader, so the openejb-loader jar must be copied into the Tomcat lib -directory. - - - C:\apache-tomcat-6.0.14>copy webapps\openejb\lib\openejb-loader-3.0.0-SNAPSHOT.jar lib\openejb-loader.jar - 1 file(s) copied. - - apache-tomcat-6.0.14$ cp webapps/openejb/lib/openejb-loader-*.jar lib/openejb-loader.jar - - -Add the following `<Listener -className="org.apache.openejb.loader.OpenEJBListener" />` to your conf/server.xml file to load the OpenEJB listener: - -The snippet is shown below - - <!-- Note: A "Server" is not itself a "Container", so you may not - define subcomponents such as "Valves" at this - level. - Documentation at /docs/config/server.html - --> - - <Server port="8005" shutdown="SHUTDOWN"> - <!-- OpenEJB plugin for tomcat --> - <Listener - className="org.apache.openejb.loader.OpenEJBListener" /> - - <!--APR library loader. Documentation at /docs/apr.html --> - <Listener - className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> - -<a name="ManualInstallation-UpdatetheTomcatannotations-api.jarfile"></a> -## Update the Tomcat annotations-api.jar file - -Tomcat contains an old non-compliant version of the javax.annotation -classes and these invalid classes must be updated so OpenEJB can process -annotations. Simply, replace the annotations-api.jar in the Tomcat lib -directory with the updated annotations-api.jar in the OpenEJB war. - -<pre><code> - -C:\apache-tomcat-6.0.14>copy webapps\openejb\tomcat\annotations-api.jar -lib\annotations-api.jar -Overwrite lib\annotations-api.jar? (Yes/No/All): y - 1 file(s) copied. - -apache-tomcat-6.0.14$ cp webapps/openejb/tomcat/annotations-api.jar -lib/annotations-api.jar - -</code></pre> - -<a name="ManualInstallation-{anchor:javaagent}AddOpenEJBjavaagenttoTomcatstartup"></a> -## Add OpenEJB javaagent to Tomcat startup - -OpenJPA, the Java Persistence implementation used by OpenEJB, currently -must enhanced persistence classes to function properly, and this requires -the installation of a javaagent into the Tomcat startup process. - -First, copy the OpenEJB JavaAgent jar into the lib directory. - -<pre><code> - - C:\apache-tomcat-6.0.14>copy webapps\openejb\lib\openejb-javaagent-3.0.0-SNAPSHOT.jar lib\openejb-javaagent.jar - 1 file(s) copied. - - apache-tomcat-6.0.14$ cp webapps/openejb/lib/openejb-javaagent-*.jar lib/openejb-javaagent.jar - -</code></pre> - -Simply, add the snippet marked below in -bin/catalina.bat (Windows) or bin/catalina.sh (Unix) file to enable the -OpenEJB javaagent: - - if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuli - set JAVA_OPTS=%JAVA_OPTS% - -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager - -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties" - :noJuli - - # Start of Snippet to add - rem Add OpenEJB javaagent if not exist - "%CATALINA_BASE%\webapps\openejb\lib\openejb-javaagent.jar" goto - noOpenEJBJavaagent set - JAVA_OPTS="-javaagent:%CATALINA_BASE%\webapps\openejb\lib\openejb-javaagent.jar" - %JAVA_OPTS% :noOpenEJBJavaagent - # End of Snippet to add - - - rem ----- Execute The Requested Command - --------------------------------------- - echo Using CATALINA_BASE: %CATALINA_BASE% - echo Using CATALINA_HOME: %CATALINA_HOME% - - - - # Set juli LogManager if it is present - if [OPENEJB: -r "$CATALINA_BASE"/conf/logging.properties ](openejb:--r-"$catalina_base"/conf/logging.properties-.html) - ; then - JAVA_OPTS="$JAVA_OPTS - "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" - "-Djava.util.logging.config.file="$CATALINA_BASE/conf/logging.properties" - fi - - #Start of Snippet to add - if [OPENEJB: -r "$CATALINA_BASE"/webapps/lib/openejb-javaagent.jar ](openejb:--r-"$catalina_base"/webapps/lib/openejb-javaagent.jar-.html) - ; then - JAVA_OPTS=""-javaagent:$CATALINA_BASE/lib/openejb-javaagent.jar" - $JAVA_OPTS" - fi - #End of Snippet to add - - - -##Note: - The example above is an excerpt from the middle of the -bin/catalina.sh file. Search for the this section and add the snippet shown http://git-wip-us.apache.org/repos/asf/tomee/blob/329eb60a/docs/maven.adoc ---------------------------------------------------------------------- diff --git a/docs/maven.adoc b/docs/maven.adoc new file mode 100644 index 0000000..2923618 --- /dev/null +++ b/docs/maven.adoc @@ -0,0 +1,61 @@ +:index-group: Unrevised +:jbake-date: 2018-12-05 +:jbake-type: page +:jbake-status: published + + +# Maven +Information + +This page is intended to provide an insight into basic +http://maven.apache.org/[Maven] usage for users that are not all that +familiar with http://maven.apache.org/[Maven] projects. It is by no +means a tutorial and is designed to be more of a _quickstart_ to get you +up and running. + +You can find a really good http://maven.apache.org/[Maven] tutorial +here: http://books.sonatype.com/mvnex-book/reference/public-book.html + +It is assumed that: + +* You have downloaded and installed http://maven.apache.org/[Maven] and +that you can run *mvn --version* from any command prompt (or console). +* You have downloaded and installed +http://subversion.apache.org/[Subversion] and that you can run *svn +--version* from any command prompt or console. + +It is also assumed you have downloaded one of the following: + +* One of the example projects from +link:[http://svn.apache.org/repos/asf/tomee/tomee/trunk/examples] +* The entire project source from +http://svn.apache.org/repos/asf/tomee/tomee/trunk + +Use http://subversion.apache.org/[Subversion] to checkout the example +sources from a console like so: + +.... +svn co http://svn.apache.org/repos/asf/tomee/tomee/trunk/examples/[example] + +.... + +Or that you may of course also be using your own project pom.xml + +If you want to use the latest snapshot locate the __ section in your +pom.xml and ensure the following repository exists: + +.... +<repositories> + <repository> + <id>apache-m2-snapshot</id> + <name>Apache M2 Snapshot Repository</name> + <url>http://repository.apache.org/snapshots/</url> + <releases> + <enabled>false</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> +</repositories> +.... http://git-wip-us.apache.org/repos/asf/tomee/blob/329eb60a/docs/maven.md ---------------------------------------------------------------------- diff --git a/docs/maven.md b/docs/maven.md deleted file mode 100644 index a68c7a9..0000000 --- a/docs/maven.md +++ /dev/null @@ -1,42 +0,0 @@ -index-group=Unrevised -type=page -status=published -~~~~~~ -# Maven Information - -This page is intended to provide an insight into basic [Maven](http://maven.apache.org/) usage for users that are not all that familiar with [Maven](http://maven.apache.org/) projects. -It is by no means a tutorial and is designed to be more of a *quickstart* to get you up and running. - -You can find a really good [Maven](http://maven.apache.org/) tutorial here: [http://books.sonatype.com/mvnex-book/reference/public-book.html](http://books.sonatype.com/mvnex-book/reference/public-book.html) - -It is assumed that: - - - You have downloaded and installed [Maven](http://maven.apache.org/) and that you can run **mvn --version** from any command prompt (or console). - - You have downloaded and installed [Subversion](http://subversion.apache.org/) and that you can run **svn --version** from any command prompt or console. - -It is also assumed you have downloaded one of the following: - - - One of the example projects from [http://svn.apache.org/repos/asf/tomee/tomee/trunk/examples]() - - The entire project source from [http://svn.apache.org/repos/asf/tomee/tomee/trunk](http://svn.apache.org/repos/asf/tomee/tomee/trunk) - -Use [Subversion](http://subversion.apache.org/) to checkout the example sources from a console like so: - - svn co http://svn.apache.org/repos/asf/tomee/tomee/trunk/examples/[example] - -Or that you may of course also be using your own project pom.xml - -If you want to use the latest snapshot locate the *<repositories>* section in your pom.xml and ensure the following repository exists: - - <repositories> - <repository> - <id>apache-m2-snapshot</id> - <name>Apache M2 Snapshot Repository</name> - <url>http://repository.apache.org/snapshots/</url> - <releases> - <enabled>false</enabled> - </releases> - <snapshots> - <enabled>true</enabled> - </snapshots> - </repository> - </repositories> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tomee/blob/329eb60a/docs/maven/build-mojo.adoc ---------------------------------------------------------------------- diff --git a/docs/maven/build-mojo.adoc b/docs/maven/build-mojo.adoc new file mode 100644 index 0000000..b4c938c --- /dev/null +++ b/docs/maven/build-mojo.adoc @@ -0,0 +1,1169 @@ +:index-group: Unrevised +:jbake-date: 2018-12-05 +:jbake-type: page +:jbake-status: published + + +tomee:build + +Full name: + +org.apache.openejb.maven:tomee-maven-plugin[:Current Version]:build + +Description: + +Create but not run a TomEE. + +Attributes: + +Requires a Maven project to be executed. + +Requires dependency resolution of artifacts in scope: runtime+system. + +Requires dependency collection of artifacts in scope: runtime. + +Optional Parameters + +Name + +Type + +Since + +Description + +apacheRepos + +String + +- + +(no description)Default value is: snapshots.User property is: +tomee-plugin.apache-repos. + +appDir + +String + +- + +relative to tomee.base.Default value is: apps. + +apps + +List + +- + +(no description) + +args + +String + +- + +(no description)User property is: tomee-plugin.args. + +attach + +boolean + +- + +(no description)Default value is: true.User property is: +tomee-plugin.attach. + +bin + +File + +- + +(no description)Default value is: +$\{project.basedir}/src/main/tomee/bin.User property is: +tomee-plugin.bin. + +catalinaBase + +File + +- + +(no description)Default value is: +$\{project.build.directory}/apache-tomee.User property is: +tomee-plugin.catalina-base. + +checkStarted + +boolean + +- + +(no description)Default value is: false.User property is: +tomee-plugin.check-started. + +classifier + +String + +- + +(no description)User property is: tomee-plugin.classifier. + +classpaths + +List + +- + +(no description) + +config + +File + +- + +(no description)Default value is: +$\{project.basedir}/src/main/tomee/conf.User property is: +tomee-plugin.conf. + +context + +String + +- + +rename the current artifact + +debug + +boolean + +- + +(no description)Default value is: false.User property is: +tomee-plugin.debug. + +debugPort + +int + +- + +(no description)Default value is: 5005.User property is: +tomee-plugin.debugPort. + +deployOpenEjbApplication + +boolean + +- + +(no description)Default value is: false.User property is: +tomee-plugin.deploy-openejb-internal-application. + +docBases + +List + +- + +for TomEE and wars only, which docBase to use for this war. + +ejbRemote + +boolean + +- + +(no description)Default value is: true.User property is: +tomee-plugin.ejb-remote. + +externalRepositories + +List + +- + +for TomEE and wars only, add some external repositories to classloader. + +forceReloadable + +boolean + +- + +force webapp to be reloadableDefault value is: false.User property is: +tomee-plugin.force-reloadable. + +javaagents + +List + +- + +(no description) + +keepServerXmlAsthis + +boolean + +- + +(Removed since 7.0.0)Default value is: false.User property is: +tomee-plugin.keep-server-xml. + +lib + +File + +- + +(no description)Default value is: +$\{project.basedir}/src/main/tomee/lib.User property is: +tomee-plugin.lib. + +libDir + +String + +- + +relative to tomee.base.Default value is: lib. + +libs + +List + +- + +supported formats: --> groupId:artifactId:version... --> +unzip:groupId:artifactId:version... --> remove:prefix (often prefix = +artifactId) + +mainDir + +File + +- + +(no description)Default value is: $\{project.basedir}/src/main. + +password + +String + +- + +(no description)User property is: tomee-plugin.pwd. + +quickSession + +boolean + +- + +use a real random instead of secure random. saves few ms at +startup.Default value is: true.User property is: +tomee-plugin.quick-session. + +realm + +String + +- + +(no description)User property is: tomee-plugin.realm. + +removeDefaultWebapps + +boolean + +- + +(no description)Default value is: true.User property is: +tomee-plugin.remove-default-webapps. + +removeTomeeWebapp + +boolean + +- + +(no description)Default value is: true.User property is: +tomee-plugin.remove-tomee-webapps. + +simpleLog + +boolean + +- + +(no description)Default value is: false.User property is: +tomee-plugin.simple-log. + +skipCurrentProject + +boolean + +- + +(no description)Default value is: false.User property is: +tomee-plugin.skipCurrentProject. + +skipWarResources + +boolean + +- + +when you set docBases to src/main/webapp setting it to true will allow +hot refresh.Default value is: false.User property is: +tomee-plugin.skipWarResources. + +systemVariables + +Map + +- + +(no description) + +target + +File + +- + +(no description)Default value is: $\{project.build.directory}. + +tomeeAjpPort + +int + +- + +(no description)Default value is: 8009.User property is: +tomee-plugin.ajp. + +tomeeAlreadyInstalled + +boolean + +- + +(no description)Default value is: false.User property is: +tomee-plugin.exiting. + +tomeeArtifactId + +String + +- + +(no description)Default value is: apache-tomee.User property is: +tomee-plugin.artifactId. + +tomeeClassifier + +String + +- + +(no description)Default value is: webprofile.User property is: +tomee-plugin.classifier. + +tomeeGroupId + +String + +- + +(no description)Default value is: org.apache.openejb.User property is: +tomee-plugin.groupId. + +tomeeHost + +String + +- + +(no description)Default value is: localhost.User property is: +tomee-plugin.host. + +tomeeHttpPort + +int + +- + +(no description)Default value is: 8080.User property is: +tomee-plugin.http. + +tomeeHttpsPort + +Integer + +- + +(no description)User property is: tomee-plugin.https. + +tomeeShutdownCommand + +String + +- + +(no description)Default value is: SHUTDOWN.User property is: +tomee-plugin.shutdown-command. + +tomeeShutdownPort + +int + +- + +(no description)Default value is: 8005.User property is: +tomee-plugin.shutdown. + +tomeeVersion + +String + +- + +(no description)Default value is: -1.User property is: +tomee-plugin.version. + +useConsole + +boolean + +- + +(no description)Default value is: true.User property is: +tomee-plugin.use-console. + +useOpenEJB + +boolean + +- + +use openejb-standalone automatically instead of TomEEDefault value is: +false.User property is: tomee-plugin.openejb. + +user + +String + +- + +(no description)User property is: tomee-plugin.user. + +warFile + +File + +- + +(no description)Default value is: +latexmath:[${project.build.directory}/$]\{project.build.finalName}.$\{project.packaging}. + +webappClasses + +File + +- + +(no description)Default value is: $\{project.build.outputDirectory}.User +property is: tomee-plugin.webappClasses. + +webappDefaultConfig + +boolean + +- + +forcing nice default for war development (WEB-INF/classes and web +resources)Default value is: false.User property is: +tomee-plugin.webappDefaultConfig. + +webappDir + +String + +- + +relative to tomee.base.Default value is: webapps. + +webappResources + +File + +- + +(no description)Default value is: +$\{project.basedir}/src/main/webapp.User property is: +tomee-plugin.webappResources. + +webapps + +List + +- + +(no description) + +zip + +boolean + +- + +(no description)Default value is: true.User property is: +tomee-plugin.zip. + +zipFile + +File + +- + +(no description)Default value is: +latexmath:[${project.build.directory}/$]\{project.build.finalName}.zip.User +property is: tomee-plugin.zip-file. + +Parameter Details + +apacheRepos: + +(no description) + +Type: java.lang.String + +Required: No + +User Property: tomee-plugin.apache-repos + +Default: snapshots + +appDir: + +relative to tomee.base. + +Type: java.lang.String + +Required: No + +Default: apps + +apps: + +(no description) + +Type: java.util.List + +Required: No + +args: + +(no description) + +Type: java.lang.String + +Required: No + +User Property: tomee-plugin.args + +attach: + +(no description) + +Type: boolean + +Required: No + +User Property: tomee-plugin.attach + +Default: true + +bin: + +(no description) + +Type: java.io.File + +Required: No + +User Property: tomee-plugin.bin + +Default: $\{project.basedir}/src/main/tomee/bin + +catalinaBase: + +(no description) + +Type: java.io.File + +Required: No + +User Property: tomee-plugin.catalina-base + +Default: $\{project.build.directory}/apache-tomee + +checkStarted: + +(no description) + +Type: boolean + +Required: No + +User Property: tomee-plugin.check-started + +Default: false + +classifier: + +(no description) + +Type: java.lang.String + +Required: No + +User Property: tomee-plugin.classifier + +classpaths: + +(no description) + +Type: java.util.List + +Required: No + +config: + +(no description) + +Type: java.io.File + +Required: No + +User Property: tomee-plugin.conf + +Default: $\{project.basedir}/src/main/tomee/conf + +context: + +rename the current artifact + +Type: java.lang.String + +Required: No + +debug: + +(no description) + +Type: boolean + +Required: No + +User Property: tomee-plugin.debug + +Default: false + +debugPort: + +(no description) + +Type: int + +Required: No + +User Property: tomee-plugin.debugPort + +Default: 5005 + +deployOpenEjbApplication: + +(no description) + +Type: boolean + +Required: No + +User Property: tomee-plugin.deploy-openejb-internal-application + +Default: false + +docBases: + +for TomEE and wars only, which docBase to use for this war. + +Type: java.util.List + +Required: No + +ejbRemote: + +(no description) + +Type: boolean + +Required: No + +User Property: tomee-plugin.ejb-remote + +Default: true + +externalRepositories: + +for TomEE and wars only, add some external repositories to classloader. + +Type: java.util.List + +Required: No + +forceReloadable: + +force webapp to be reloadable + +Type: boolean + +Required: No + +User Property: tomee-plugin.force-reloadable + +Default: false + +javaagents: + +(no description) + +Type: java.util.List + +Required: No + +keepServerXmlAsthis: + +(no description) + +Type: boolean + +Required: No + +User Property: tomee-plugin.keep-server-xml + +Default: false + +lib: + +(no description) + +Type: java.io.File + +Required: No + +User Property: tomee-plugin.lib + +Default: $\{project.basedir}/src/main/tomee/lib + +libDir: + +relative to tomee.base. + +Type: java.lang.String + +Required: No + +Default: lib + +libs: + +supported formats: --> groupId:artifactId:version... --> +unzip:groupId:artifactId:version... --> remove:prefix (often prefix = +artifactId) + +Type: java.util.List + +Required: No + +mainDir: + +(no description) + +Type: java.io.File + +Required: No + +Default: $\{project.basedir}/src/main + +password: + +(no description) + +Type: java.lang.String + +Required: No + +User Property: tomee-plugin.pwd + +quickSession: + +use a real random instead of secure random. saves few ms at startup. + +Type: boolean + +Required: No + +User Property: tomee-plugin.quick-session + +Default: true + +realm: + +(no description) + +Type: java.lang.String + +Required: No + +User Property: tomee-plugin.realm + +removeDefaultWebapps: + +(no description) + +Type: boolean + +Required: No + +User Property: tomee-plugin.remove-default-webapps + +Default: true + +removeTomeeWebapp: + +(no description) + +Type: boolean + +Required: No + +User Property: tomee-plugin.remove-tomee-webapps + +Default: true + +simpleLog: + +(no description) + +Type: boolean + +Required: No + +User Property: tomee-plugin.simple-log + +Default: false + +skipCurrentProject: + +(no description) + +Type: boolean + +Required: No + +User Property: tomee-plugin.skipCurrentProject + +Default: false + +skipWarResources: + +when you set docBases to src/main/webapp setting it to true will allow +hot refresh. + +Type: boolean + +Required: No + +User Property: tomee-plugin.skipWarResources + +Default: false + +systemVariables: + +(no description) + +Type: java.util.Map + +Required: No + +target: + +(no description) + +Type: java.io.File + +Required: No + +Default: $\{project.build.directory} + +tomeeAjpPort: + +(no description) + +Type: int + +Required: No + +User Property: tomee-plugin.ajp + +Default: 8009 + +tomeeAlreadyInstalled: + +(no description) + +Type: boolean + +Required: No + +User Property: tomee-plugin.exiting + +Default: false + +tomeeArtifactId: + +(no description) + +Type: java.lang.String + +Required: No + +User Property: tomee-plugin.artifactId + +Default: apache-tomee + +tomeeClassifier: + +(no description) + +Type: java.lang.String + +Required: No + +User Property: tomee-plugin.classifier + +Default: webprofile + +tomeeGroupId: + +(no description) + +Type: java.lang.String + +Required: No + +User Property: tomee-plugin.groupId + +Default: org.apache.openejb + +tomeeHost: + +(no description) + +Type: java.lang.String + +Required: No + +User Property: tomee-plugin.host + +Default: localhost + +tomeeHttpPort: + +(no description) + +Type: int + +Required: No + +User Property: tomee-plugin.http + +Default: 8080 + +tomeeHttpsPort: + +(no description) + +Type: java.lang.Integer + +Required: No + +User Property: tomee-plugin.https + +tomeeShutdownCommand: + +(no description) + +Type: java.lang.String + +Required: No + +User Property: tomee-plugin.shutdown-command + +Default: SHUTDOWN + +tomeeShutdownPort: + +(no description) + +Type: int + +Required: No + +User Property: tomee-plugin.shutdown + +Default: 8005 + +tomeeVersion: + +(no description) + +Type: java.lang.String + +Required: No + +User Property: tomee-plugin.version + +Default: -1 + +useConsole: + +(no description) + +Type: boolean + +Required: No + +User Property: tomee-plugin.use-console + +Default: true + +useOpenEJB: + +use openejb-standalone automatically instead of TomEE + +Type: boolean + +Required: No + +User Property: tomee-plugin.openejb + +Default: false + +user: + +(no description) + +Type: java.lang.String + +Required: No + +User Property: tomee-plugin.user + +warFile: + +(no description) + +Type: java.io.File + +Required: No + +Default: +latexmath:[${project.build.directory}/$]\{project.build.finalName}.$\{project.packaging} + +webappClasses: + +(no description) + +Type: java.io.File + +Required: No + +User Property: tomee-plugin.webappClasses + +Default: $\{project.build.outputDirectory} + +webappDefaultConfig: + +forcing nice default for war development (WEB-INF/classes and web +resources) + +Type: boolean + +Required: No + +User Property: tomee-plugin.webappDefaultConfig + +Default: false + +webappDir: + +relative to tomee.base. + +Type: java.lang.String + +Required: No + +Default: webapps + +webappResources: + +(no description) + +Type: java.io.File + +Required: No + +User Property: tomee-plugin.webappResources + +Default: $\{project.basedir}/src/main/webapp + +webapps: + +(no description) + +Type: java.util.List + +Required: No + +zip: + +(no description) + +Type: boolean + +Required: No + +User Property: tomee-plugin.zip + +Default: true + +zipFile: + +(no description) + +Type: java.io.File + +Required: No + +User Property: tomee-plugin.zip-file + +Default: +latexmath:[${project.build.directory}/$]\{project.build.finalName}.zip
