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