Date: 2003-12-23T18:02:38
   Editor: JacekLaskowski <[EMAIL PROTECTED]>
   Wiki: Apache Geronimo Wiki
   Page: OpenEJBNova
   URL: http://wiki.apache.org/geronimo/OpenEJBNova

   Deploying EJB section done

Change Log:

------------------------------------------------------------------------------
@@ -13,13 +13,13 @@
 
  = Running =
 
-Assuming the above steps went fine, you ought to see openejb-nova-DEV.jar file 
in target directory. The file and src/etc/nova-ejb-service.xml are the files 
that need to be copied to Geronimo directories.
+ Assuming the above steps went fine, you ought to see openejb-nova-DEV.jar 
file in target directory. The file and src/etc/nova-ejb-service.xml are the 
files that need to be copied to Geronimo directories.
 
- * Copy src/etc/nova-ejb-service.xml to Geronimo's target/geronimo-DEV/deploy 
directory
+  * Copy src/etc/nova-ejb-service.xml to Geronimo's target/geronimo-DEV/deploy 
directory
 
- * Copy target/openejb-nova-DEV.jar to Geronimo's target/geronimo-DEV/lib 
directory
+  * Copy target/openejb-nova-DEV.jar to Geronimo's target/geronimo-DEV/lib 
directory
 
- * Start up Geronimo
+  * Start up Geronimo
 
  You ought to see the following:
 
@@ -43,7 +43,7 @@
     [java] 22:41:12,258 INFO  [Geronimo] Started Server in 21s
  }}}
 
- = EJB Deployment =
+ = Deploying EJB =
 
  org.apache.geronimo.kernel.deployment.scanner.DeploymentScanner is in charge 
of monitoring a specified set of directories and deploying files therein. It's 
configured in ''target/geronimo-DEV/etc/boot-service.xml''.
 
@@ -56,4 +56,52 @@
 
  It's also possible to use the default directory ''${geronimo.home}/deploy/'' 
or create another one beneath, e.g. ''${geronimo.home}/deploy/ejbs''
 
+  * There're two approaches to deploy a bean:
+    * as '''UNPACKED_ARCHIVE''' 
(o.a.g.kernel.deployment.scanner.URLType.UNPACKED_ARCHIVE) - a directory with 
META-INF/MANIFEST.MF
+    * as '''PACKED_ARCHIVE''' 
(o.a.g.kernel.deployment.scanner.URLType.PACKED_ARCHIVE) - a file with 
META-INF/MANIFEST.MF
+
+ File extensions aren't important.
+
+  * Two files are mandatory to have Geronimo (EJBmoduleDeploymentPlanner, 
exactly) deploy an EJB:
+    * '''META-INF/geronimo-ejb-jar.xml'''
+    * '''META-INF/ejb-jar.xml'''
+
+ They have the same XML structure, so creating a corresponding 
geronimo-ejb-jar.xml boils down to copying ejb-jar.xml as geronimo-ejb-jar.xml.
+
   * Start up Geronimo
+
+  * Open up Geronimo web console (http://localhost:8080/geronimo-web-console) 
and enter ''geronimo.j2ee:*'' as a filter. 
+
+ The shown entries are beans that Geronimo has successfully deployed.
+
+ = More details =
+
+The process of deploying a bean (=use case) begins when 
o.a.g.kernel.deployment.scanner.DeploymentScanner (defined in 
/etc/boot-service.xml) is started up and monitoring a set of directories 
(defined in boot-service.xml file) at a defined in boot-service.xml file time 
interval.
+There're two available deployment scanners:
+ * FileSystemScanner - it's in charge of handling file protocol
+ * WebDAVScanner - it's in charge of handling http(s) protocol
+FileSystemScanner (FSS) picks up a file and checks whether it's of *_ARCHIVE 
type. If it is, FSS adds the file
+to a list of deployments. It's visible on the console as:
+
+   <filename> added to the list of deployments
+       
+where <filename> is the name of the deployment (i.e. file or directory).
+
+The list is handed over to EJBModuleDeploymentPlanner, which ensures that 
/META-INF/geronimo-ejb-jar.xml exists.
+If it doesn't the file is removed from the list of deployments (no message 
about it, though). The check of 
+geronimo-ejb-jar.xml existence is hander over to DeploymentHelper that 
attempts to open up /META-INF/ejb-jar.xml file.
+If /META-INF/ejb-jar.xml doesn't exist, geronimo-ejb-jar.xml is assumed to not 
exist as well.
+If it does the file is processed and shown on the console as:
+
+   Planning the ejb module deployment <filename>
+   
+where <filename> is the name of the deployment (i.e. file or directory)
+
+The next steps is shown on the console as:
+
+   Loading deployment descriptor <filename>
+       
+It's indication that EJBmodule is about to read 
/META-INF/geronimo-ejb-jar.xml. The file currently contains
+all the required information on the EJB.
+
+When deployed it's shown as 
"geronimo.deployment:role=DeploymentUnitClassSpace,url=<filename>,type=EJBModule"
 MBean instance.

Reply via email to