> -----Original Message-----
> From: Jacek Laskowski [mailto:[EMAIL PROTECTED]
> Sent: Monday, September 22, 2003 1:12 PM
> To: [EMAIL PROTECTED]
> Subject: Questions about o.a.g.client.Launcher
>
>
> Hi,
>
> During the past weekend I worked on o.a.g.client.Launcher. Here are the
> questions I could not answer. Appreciate any help with them.
>
> 1/ Why are there duplicated schemas? For example:
> application-client_1_4.xsd is in ./modules/core/src/schema/ and
> ./modules/xbeans/src/schema.
>

History (yes, already) :)
The one in core is the main version, the other was part of James's
investigation of xml binding.


> 2/ Once I went through the first checks (required params, working dir,
> MANIFEST.MF with Main-Class and finally an empty - in terms of XML -
> geronimo-application-client.xml file) the following error poped up:
>
> Warning: validation was turned on but an org.xml.sax.ErrorHandler was not
> set, which is probably not what is desired.  Parser will use a default
> ErrorHandler to print the first 10 errors.  Please call
> the 'setErrorHandler' method to fix this.
> Error: URI=null Line=4: cvc-elt.1: Cannot find the declaration of
> element 'application-client'.
>
> Here's application-client.xml:
>
> <!--
>    - modules/core/src/schema/geronimo-application-client.xsd
>    -->
> <application-client version="1.4"/>
>

The geronimo one should include all the standard metadata - I've attached
all the stuff from META-INF from my (simple) test app.

> 3/ I'm wondering if introducing a java parameter would be a solution to
> lower importance of the working directory and change the following line:
>
> [o.a.g.client.Launcher:146]
>     mletURL = new URL("file:src/conf/client.mlet");
>
> Where would the change go - a batch file or Lancher itself or both?
>

Personally, I'm not a great believer in needing a batch/shell script to wrap
every application. In this case, the default location provided there should
really become a resource (because there should be little need to modify the
boot mlet) that can be overridden using a system property.

Ultimately, the usage should be something like:
launcher.jar <path-to-client-jar> [<app-arg>]*
launcher.jar -ear <path-to-ear> <module-name> [<app-arg>]*

where the paths can be filenames or network locations. We may need to have
additional options but I haven't got that far yet.

> And the last but not least, a change (patch) to Launcher is in JIRA
> (GERONIMO-91).
>

I saw - I will apply this.

Having a simple AppClient container should make life easier for client apps
(both heavy GUIs and simple command line utilities). Any feedback is
appreciated.

Cheers
Jeremy
<?xml version="1.0" encoding="UTF-8"?>
<application-client
    xmlns="http://java.sun.com/xml/ns/j2ee";
    xmlns:geronimo="http://geronimo.apache.org/xml/schema/j2ee";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee file:///D:/apache/incubator-geronimo/modules/core/schema/geronimo-application-client.xsd"
    version="1.4">
    <env-entry>
        <env-entry-name>string</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>Hello World</env-entry-value>
    </env-entry>
    <ejb-ref>
        <ejb-ref-name>MyEJB</ejb-ref-name>
        <ejb-ref-type>Session</ejb-ref-type>
        <home>test.TestEJBHome</home>
        <remote>test.TestEJB</remote>
        <geronimo:jndi-name>jnp://localhost/TestEJB</geronimo:jndi-name>
    </ejb-ref>
</application-client>

Attachment: MANIFEST.MF
Description: Binary data

<?xml version="1.0" encoding="UTF-8"?>
<application-client
    xmlns="http://java.sun.com/xml/ns/j2ee";
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd";
	version="1.4">
    <env-entry>
        <env-entry-name>string</env-entry-name>
        <env-entry-type>java.lang.String</env-entry-type>
        <env-entry-value>Hello World</env-entry-value>
    </env-entry>
    <ejb-ref>
        <ejb-ref-name>MyEJB</ejb-ref-name>
        <ejb-ref-type>Session</ejb-ref-type>
        <home>test.TestEJBHome</home>
        <remote>test.TestEJB</remote>
    </ejb-ref>
</application-client>

Reply via email to