Lin,

Thanks for trying to help. I do appreciate it. I may not have made my questions/gripes clear. So I will reiterate after your replies.

Lin Sun wrote:
Hi, I am not a plan expert at all but I'll try answer your questions...

What I find most useful besides reading the existing samples and documentations, is to use the schema files (generally located at the server_home\schema directory.) For example, I am looking at my geronimo 2.0 server now, and the geronimo-module-{version}.xsd is the schema for namespace "http://geronimo.apache.org/xml/ns/deployment-{version}";. You 'll want to look at the geronimo-application-{version}.xsd for geronimo-application.xml file.

I have looked at the examples and what I have now is from them as well as help from the forum. What I am griping about is that even the documents are syntactically described in the xsd they are not described verbally as to what they mean or how they are used. I can read and use a schema but it doesn't help if I don;t know how or why I am constructing the xml document.

The other issue I had was that I have an EAR with a WAR and EJB-JAR inside. Nowhere in the documentation did it cover the rules of what plans are required. Almost all examples attacke either a WAR or EJB alone. The one example that starts doing an EAR is never completed.

So when I was creating mine I had a geronimo-application.xml (which I kept outside the ear), a geronimo-web.xml in the WAR, and an openejb-jar.xml in the ejb.jar. One forum member asked me to remove the geronimo-web. It seemed to not break anything and I think it may have made things go farther but again I still have no clue what combinations (or why) of geronimo specific plans are required in an ear.

Doug Lochart wrote:


openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1";>
<dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1";>
   <dep:moduleId>
     <dep:groupId>qdfrancepolicy.</dep:groupId>
     <dep:artifactId>FrancePolicyServverEjb</dep:artifactId>
     <dep:version>1.0</dep:version>
     <dep:type>car</dep:type>
   </dep:moduleId>
   <dep:dependencies>
     <dep:dependency>
       <dep:groupId>geronimo</dep:groupId>
       <dep:artifactId>tomcat</dep:artifactId>
       <dep:type>car</dep:type>
     </dep:dependency>
   </dep:dependencies>
   <dep:hidden-classes/>
   <dep:non-overridable-classes/>
 </dep:environment>
 <enterprise-beans>
   <session>
     <ejb-name>FrancePolicyServer</ejb-name>
     <jndi-name>qdfrancepolicy.FrancePolicyHome</jndi-name>
   </session>
 </enterprise-beans>
</openejb-jar>

Is the dep:groupId supposed to match the sys:groupID on the app? If not how is it used? What does artifactid do? Does it matter what I name it? Does the name have to correspond to another field somewhere?

No, it needs to be dep:groupId here as you had "<dep:environment
> xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1";>" defined earlier.

This I got from an example but I still would like an explanation of what it means. To me it looks I just use the package of the bean as that is what the example had (with a trailing dot) but no mention is made as what, how or why.
An artifactid is the artifact/module's unique id inside of the repository (typical location is server_home\repository). You need to come up with a unique id for your module. This is actually a maven concept.

Okay, this is what I thought so when I have an EAR with an EJB and WAR what do I have? 1 module (the application) with 2 or 3 artifiacts unique within the module but not necessarily unique to all of the server OR 3 moules one for the ear, war, and ejb and they need to be unique globally? Again this is the stuff that is missing a good narrative in my opinion.

I would like to write up something covering all this stuff as I feel I am not the only one in this boat. However I cannot write about what I do not grasp fully.

Then there is the dep:dependency. I added geronimo/tomcat in because I was asked to do so (thanks again by the way). I assume it is telling geronimo that I want to use tomcat as my web container but again I can't find any decent explanation as to what is going on. The IoC design of this thing is real cool but unless I am just totally stupid ( I am green with EJB ) I cannot seem to find anything that pieces things together in any coherent fashion.

Am I missing something? Did all of you pop in and look at the plan docs and just suddenly realize how to do it in a day or something?

By specifying the dependencies, your app asks the server to make sure all the dependency modules are avail when your app starts.

I _understand_ what a dependency means _BUT_ I could not find anything that specified what modules you need, what are supplied as default, and how you would know if you need them. There are a lot of things in the repository after you install geronimo. It looks like all of geronimo is a bunch of modules working together (great concept, I like the Spring methodology) but to me as a newbie I think they are just part of geronimo and that I do not need to mess with anything in there.

HTH, Lin

Thanks Lin, I hope others can also jump in a get a good discussion going. Maybe I will get enough info and work my way through my problems to actually write up a good overview.

Doug

Reply via email to