users@glassfish.java.net

asadmin deploy --generatermistubs /some/dir/ foo.ear

From: <glassfish_at_javadesktop.org>
Date: Fri, 21 May 2010 09:57:08 PDT

Hi,

this is about executing "asadmin deploy --generatermistubs /some/dir/ foo.ear" in order to get the so called "client jar" where Foo.ear contains an application client module.

This command generates a FooClient.jar containing all but the wars: utility jars and EJB Jars and of course, the application client module jars.

This is discussed in a previous post (http://forums.java.net/jive/thread.jspa?messageID=470542).

The question is: how GF 2 transforms transforms the application client module jars.

I made a test and saw that:

A) for any EJB reference (@EJB or xml ejb-ref) in the application client module, GF 2 completes/creates xml ejb-ref in application-client.xml and sun-application-client.xml and makes sure all xml sub-elements are present: ejb-link, mapped-name for application-client.xml and jndi-name for sun-application-client.xml.

Even if nothing existed as xml for the reference. Example of modified output;

  <ejb-ref>
    <ejb-ref-name>Main/secondBean</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <remote>com.test.website.dbaccess.ejbs.ISecondRemote</remote>
    <ejb-link>hello-ejbs.jar#Second</ejb-link>
    <injection-target>
      <injection-target-class>Main</injection-target-class>
      <injection-target-name>secondBean</injection-target-name>
    </injection-target>
  </ejb-ref>

B) the manifest classpath is not touched in any way as Tim suggested in the post:

"the EJB module JARs were included in the generated client JAR and added dynamically to the app client's class path as a convenience.
".

Tim pls. excuse me if i'm wrong.

So allow me to make a short summary and pls. VALIDATE AND CORRECT IT:

1. GF 2 and app client module with empty manifest classpath : give the app client jar ALL the jars at the root of the ear (those in library directory too?) and add them to the app client module's manifest classpath

2. GF 2 and app client module with entries in the classpath : ?

3. GF 3 and app client module with empty classpath: give nothing and let the manifest classpath empty

4. GF 3 and app client module with non-empty classpath: give the app client JAR ONLY the jars representing its transitive closure + the jars included in the library directory and ?update the classpath manifest with entries corresponding to all these jars?


In fact where could i read about this in GF's doc ?
[Message sent by forum member 'vladbalan']

http://forums.java.net/jive/thread.jspa?messageID=470911