What is the recommended way to package library classes with an ejb?  I have
heard different recommendations, and one of them is to package all required
classes inside the ejb-jar file.  This would mean expanding library jar
files, and adding the expanded files to the ejb-jar.  The advantage of this
is a self-contained unit, but there are disadvantages also:  for example, one
of the required library jars is probably ODBC drivers, and including these
classes with the ejb means that you are dictating what database the ejb runs
on, and which version of the drivers.  The ejb should be as database
independent as possible, it should just use JDBC, I think the db drivers
should be considered part of the app server.

But aside from the example of db drivers, what should be done with other
library classes, like XML parsers, XSL processors, regular expression library
classes, etc?  Another disadvantage of this is that you might end up
duplicating the same shared libraries in several places.

The alternative is to provide several other jar files with your ejb jar for
deployment, and deployment of the ejb must include copying the supplied jars
to somewhere on the app server's classpath.

I found this post, but it refers to manifest files, which we are not using
(we're using ejb 1.1)
http://archives.java.sun.com/cgi-bin/wa?A2=ind0003&L=ejb-interest&P=R12005
I didn't see anything in the ejb-jar dtd that looks like it would do the same
thing as the Class-Path manifest entry.

The J2EE spec in section 8.1.2 says that "the J2EE platform supports the use
of bundled extensions as specified in
http://java.sun.com/products/jdk/1.2/docs/guide/extensions/spec.html ", but
that page refers only to manifest files.  Should we be using a manifest file
as well as the deployment descriptor?

Or, should library jar files simply be included in the .ear file?

thanks.

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to