dev@glassfish.java.net

Re: JPA in embedded GF?

From: Jerome Dochez <Jerome.Dochez_at_Sun.COM>
Date: Thu, 06 Aug 2009 02:50:02 -0700

On Aug 6, 2009, at 1:40 AM, Marina Vatkina wrote:

> Jerome,
>
> What are my choices for using embedded EJB with JPA?
all of them.
>
> The user needs to setup a datasource, and it can be done either
> a) pointing to an existing GF install (#3 in your list - why is it
> called "inplanted"), or
> b) specify the resource details by some other means that GF embedded
> EJB needs to process and create that datasource on the fly.
>
> We agreed to support option a) - right?
right
> If yes, how would all the jars from an existing installation be
> added to classpath?
all jars in the modules directory are automatically added to the
classpath in the inplanted mode, we might need to add the lib/*.jar
and domain/lib/*jar which are not added right now.

> (It would be also impractical to install an uber-jar in addition to
> the GF installation). So I tried the glassfish-embedded-shell.jar,
> but it wasn't working. And this is why I created my own list of
> jars. Do we expect glassfish-embedded-shell.jar to be the solution
> for #3?
yes you just use the embedded-shell.jar in your classpath and point to
an existing installation. It did not work in your attempt because you
also add the entire ejb-container jars in your classpath.

> If not, what would it be?
>
> That all said, the current problem is the __ds_jdbc_ra location is
> somehow wrong and because of that the datasource lookup and JPA
> aren't working.
what is the right location ?

jerome

>
> Hope it makes sense.
>
> Regards,
> -marina
>
> Jerome Dochez wrote:
>> If you want to see the maven classpath when invoking the test, just
>> do mvn -X test and check the display.
>> I don't think this is a practical proposal to try the ejb embedded
>> container with 15 jars files on the command line classpath. Why
>> don't you use the single uber jar that Siraj is publishing for
>> such a use- case. That way there is only one jar to put on the
>> classpath. Have you tried that ?
>> There are very different packaging solutions for embedded :
>> 1. maven : we just use transitive package resolution to get the
>> full list
>> 2. uber-jar : we repackage all jars inside a big fat jar for
>> one simple yet not flexible solution
>> 3. inplanted : we use an existing glassfish installation.
>> I don't think we should promote the three solutions for all use-
>> cases. Depending on what the user wants to do, he should pick up
>> the most practical one. Of course all 3 solutions use the same
>> embedded APIs.
>> jerome
>> On Aug 5, 2009, at 4:42 PM, Marina Vatkina wrote:
>>> Hi Jerome,
>>>
>>> Maven resolves transitive dependencies and I didn't try to check
>>> what does it end up with, but my latest attempt to test embedded
>>> EJB is with 'java -cp'. I attached here the script that so far
>>> allows to get a reply from helloWorld bean (with exception - see
>>> more on it below), but when trying to use EJB with JPA, it fails
>>> with java.io.FileNotFoundException: /export/v3/gfs/glassfishv3/
>>> lib/ install/applications/__ds_jdbc_ra (see no 'glassfish' after
>>> 'glassfishv3').
>>>
>>> Now about exceptions: I do still see them with 'java -cp' calls,
>>> but:
>>> a) I either get ClassNotFoundException:
>>> org.glassfish.flashlight.provider.ProbeProviderFactory if
>>> flashlight- framework.jar is not in the classpath,
>>>
>>> or
>>> b) I get tons of IllegalStateException's ("Provider already
>>> mapped" and "is not an interface") if it is there.
>>>
>>> I also get
>>> c) several java.io.IOException: No such file or directory
>>> at java.io.UnixFileSystem.createFileExclusively(Native Method)
>>> at java.io.File.createNewFile(File.java:883)
>>> at
>>> com
>>> .sun
>>> .enterprise
>>> .security.common.Util.writeConfigFileToTempDir(Util.java: 136)
>>>
>>> But the last one doesn't seem to stop the bean access.
>>>
>>> thanks,
>>> -marina
>>>
>>> Jerome Dochez wrote:
>>>
>>>> I just added an embedded ejb test in tests/embedded/ejb
>>>> directory. It's using the ejb embedded APIs to test a sample
>>>> ejb bundle. This should give you some ideas how you can set up
>>>> your environment to test EJBs with EJB embedded APIs.
>>>> the test passes even without a single exception !
>>>> jerome
>>>> On Aug 5, 2009, at 11:51 AM, Marina Vatkina wrote:
>>>>
>>>>> Siraj Ghaffar wrote:
>>>>>
>>>>>> Marina Vatkina wrote:
>>>>>>
>>>>>>> Hi Jerome,
>>>>>>>
>>>>>>> I tried to add a main method to my UnitTest and start it via
>>>>>>> java command (using GF_HOME as the pointer to the gf
>>>>>>> installation), but it failed with the same error as the
>>>>>>> maven test ("Address already in use").
>>>>>>>
>>>>>>> I put the glassfish-embedded-shell.jar from extras/embedded-
>>>>>>> shell and gf-client.jar into the classpath. Is the former
>>>>>>> the "embedded- shell.jar? -
>>>>>>
>>>>>>
>>>>>> yes, it is.
>>>>>
>>>>>
>>>>>
>>>>> OK. I looked at its manifest and this is what it has:
>>>>>
>>>>> Class-Path: hk2-0.3.81.jar hk2-core-0.3.81.jar
>>>>> config-0.3.81.jar auto-
>>>>> depends-0.3.81.jar tiger-types-osgi-0.3.81.jar bean-
>>>>> validator-3.0- JBo
>>>>> ss-4.0.0.Beta1-b01.jar glassfish-api-3.0-SNAPSHOT.jar grizzly-
>>>>> utils-1
>>>>> .9.17-RC2.jar management-api-3.0.0-b004.jar glassfish-3.0-
>>>>> SNAPSHOT.jar
>>>>>
>>>>> Do you expect glassfish-embedded-shell.jar to be in the gf
>>>>> modules directory to be able to use those referenced jars?
>>>>>
>>>>> Is there a version of it that refers to the jars without
>>>>> versions in their names?
>>>>>
>>>>> thanks,
>>>>> -marina
>>>>>
>>>>>>> I didn't find the exact name anywhere). The latter I used
>>>>>>> because the list of jars that I needed to add explicitly was
>>>>>>> becoming too long.
>>>>>>>
>>>>>>> Regards,
>>>>>>> -marina
>>>>>>>
>>>>>>> Jerome Dochez wrote:
>>>>>>>
>>>>>>>> I looked at the second issue you reported and I know what's
>>>>>>>> going on.
>>>>>>>>
>>>>>>>> The issue is that maven is invoking the test with a bunch
>>>>>>>> of glassfish jars in the classpath (all test dependencies
>>>>>>>> of the ejb-container project). It's the normal way maven
>>>>>>>> works. Now when invoking inplanted mode, it does not work
>>>>>>>> well because a lot of jars are duplicated between 2 class
>>>>>>>> loaders, one set up by maven (will all the dependencies I
>>>>>>>> mention above), one set up by the inplanted mode. Note
>>>>>>>> that in normal embedded mode with maven, we only use the
>>>>>>>> maven classloader, so its works fine.
>>>>>>>>
>>>>>>>> This duplication of glassfish jars between these two
>>>>>>>> classloaders does not really create a class loading
>>>>>>>> problem since through delegation we happen to load most
>>>>>>>> classes from the maven classloader. However, in terms of
>>>>>>>> habitat metadata (inhabitants file) it's two different
>>>>>>>> sets of resources so we end up finding most resources in
>>>>>>>> double and therefore we have 2 grizzly services started
>>>>>>>> which creates this port busy issue.
>>>>>>>>
>>>>>>>> There is not much I can do to support such a case, we can
>>>>>>>> support what I think you were trying to test but not using
>>>>>>>> any glassfish project themselves (ie not using the ejb-
>>>>>>>> container project). What you need to do is to set up a
>>>>>>>> new project (a normal ejb jar project, where you would
>>>>>>>> just build a ejb application and deploy it using the ejb-
>>>>>>>> api that would use an existing glassfish installation. The
>>>>>>>> dependencies of such a project should just be embedded-
>>>>>>>> shell.jar and ejb- api.jar, nothing else. I believe this
>>>>>>>> is what our users will want to do anyhow.
>>>>>>>>
>>>>>>>> you should keep the ejb-container tests to tests normal
>>>>>>>> embedded mode basic functionalities and probably set up
>>>>>>>> new projects that would be closer to what users will want
>>>>>>>> to do when using the embedded ejb container APIs.
>>>>>>>>
>>>>>>>> Let me know if you have more questions.
>>>>>>>>
>>>>>>>> jerome
>>>>>>>>
>>>>>>>> On Jul 27, 2009, at 5:00 PM, Marina Vatkina wrote:
>>>>>>>>
>>>>>>>>> Jerome Dochez wrote:
>>>>>>>>>
>>>>>>>>>> I have fixed both issues, I still see a flashlight
>>>>>>>>>> related issue that I will look at tomorrow but it seems
>>>>>>>>>> to be functional now.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Only the 1st one. The 2nd (opening ports and failing for
>>>>>>>>> an already opened port) could be caused caused by using
>>>>>>>>> the pre- existing domain.xml. There is no such error if I
>>>>>>>>> don't set the pointer(s).
>>>>>>>>>
>>>>>>>>> I've checked in my changes to the UnitTest, so that you can
>>>>>>>>> see exactly what I'm doing. To test existing domain.xml,
>>>>>>>>> set env variable S1AS_HOME to the existing GF
>>>>>>>>> installation (like for QL in V2).
>>>>>>>>>
>>>>>>>>> thanks,
>>>>>>>>> -marina
>>>>>>>>>
>>>>>>>>>> Earlier today, I also should have added support for JPA
>>>>>>>>>> but I don't have anything to test with. could you or
>>>>>>>>>> mitesh try it out and add a test.
>>>>>>>>>> to turn on the jpa container just do
>>>>>>>>>> server.addContainer(ContainerBuillder.Type.jpa);
>>>>>>>>>> jerome
>>>>>>>>>> On Jul 27, 2009, at 12:05 PM, Marina Vatkina wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Jerome,
>>>>>>>>>>>
>>>>>>>>>>> I still see both problems. Did you have a chance to look
>>>>>>>>>>> at them?
>>>>>>>>>>>
>>>>>>>>>>> thanks,
>>>>>>>>>>> -marina
>>>>>>>>>>>
>>>>>>>>>>> Marina Vatkina wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Jerome Dochez wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Jul 22, 2009, at 6:21 PM, Marina Vatkina wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Now that you added another test case, I see that I
>>>>>>>>>>>>>> need to call separately setInstallRoot() for GF
>>>>>>>>>>>>>> installation and setConfigurationFile() for
>>>>>>>>>>>>>> domain.xml ;)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> But(!)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 1. The default setup (e.g. EmbeddedTest or UnitTest
>>>>>>>>>>>>>> without my temp changes) fail with NPE in binding
>>>>>>>>>>>>>> and lookup caused by:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Caused by: java.lang.RuntimeException: Orb
>>>>>>>>>>>>>> initialization erorr
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org
>>>>>>>>>>>>>> .glassfish
>>>>>>>>>>>>>> .enterprise
>>>>>>>>>>>>>> .iiop
>>>>>>>>>>>>>> .api
>>>>>>>>>>>>>> .GlassFishORBHelper.getORB(GlassFishORBHelper.java: 128)
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> com
>>>>>>>>>>>>>> .sun
>>>>>>>>>>>>>> .enterprise
>>>>>>>>>>>>>> .naming
>>>>>>>>>>>>>> .impl
>>>>>>>>>>>>>> .SerialContext.getRemoteProvider(SerialContext.java:
>>>>>>>>>>>>>> 294)
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> com
>>>>>>>>>>>>>> .sun
>>>>>>>>>>>>>> .enterprise
>>>>>>>>>>>>>> .naming
>>>>>>>>>>>>>> .impl.SerialContext.getProvider(SerialContext.java:
>>>>>>>>>>>>>> 269)
>>>>>>>>>>>>>> ... 28 more
>>>>>>>>>>>>>> Caused by: java.lang.NullPointerException
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org
>>>>>>>>>>>>>> .glassfish
>>>>>>>>>>>>>> .enterprise
>>>>>>>>>>>>>> .iiop
>>>>>>>>>>>>>> .api
>>>>>>>>>>>>>> .GlassFishORBHelper.getORB(GlassFishORBHelper.java:98)
>>>>>>>>>>>>>> ... 30 more
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have no idea what's going on, I will need Ken Saks to
>>>>>>>>>>>>> look at it.
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2. If I try to set install root and config file, the
>>>>>>>>>>>>>> ports are beeing open and the server doesn't even
>>>>>>>>>>>>>> get to deployment:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> INFO: GlassFish v3 startup time : Embedded(2728ms)
>>>>>>>>>>>>>> startup services(3792ms) total(6520ms)
>>>>>>>>>>>>>> Jul 22, 2009 6:08:29 PM
>>>>>>>>>>>>>> com.sun.enterprise.v3.server.AppServerStartup run
>>>>>>>>>>>>>> SEVERE: Shutting down v3 due to startup exception :
>>>>>>>>>>>>>> Address already in use:
>>>>>>>>>>>>>> 8080=com.sun.grizzly.http.SelectorThreadHandler_at_1609c13
>>>>>>>>>>>>>> Jul 22, 2009 6:08:29 PM
>>>>>>>>>>>>>> org.glassfish.admin.mbeanserver.JMXStartupService
>>>>>>>>>>>>>> shutdown
>>>>>>>>>>>>>> INFO: ConnectorStartupService: shutting down AMX and JMX
>>>>>>>>>>>>>> Jul 22, 2009 6:08:29 PM
>>>>>>>>>>>>>> org.glassfish.admin.mbeanserver.JMXStartupService
>>>>>>>>>>>>>> $JMXConnectorsStarterThread shutdown
>>>>>>>>>>>>>> INFO: Stopped JMXConnectorServer: service:jmx:rmi:///
>>>>>>>>>>>>>> jndi/ rmi:// uphill:8686/jmxrmi
>>>>>>>>>>>>>> Jul 22, 2009 6:08:29 PM AppServerStartup run
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Note that there is no other gf instance running at
>>>>>>>>>>>>>> that time.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have an idea of what might be going on here... did
>>>>>>>>>>>>> you instantiate any embedded Port here ?
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> I'm doing this:
>>>>>>>>>>>> Server.Builder builder = new
>>>>>>>>>>>> Server.Builder("GFEJBContainerProviderImpl");
>>>>>>>>>>>> ... creating Files for gf install and domain.xml...
>>>>>>>>>>>> EmbeddedFileSystem.Builder efsb = new
>>>>>>>>>>>> EmbeddedFileSystem.Builder();
>>>>>>>>>>>> efsb.setInstallRoot(installed_root);
>>>>>>>>>>>> efsb.setConfigurationFile(domain_file);
>>>>>>>>>>>> builder.setEmbeddedFileSystem(efsb.build());
>>>>>>>>>>>> server = builder.build();
>>>>>>>>>>>> -marina
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> thanks,
>>>>>>>>>>>>>> -marina
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Jerome Dochez wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> look in the tests/embedded/inplanted, there are
>>>>>>>>>>>>>>> examples of using the embedded file system.
>>>>>>>>>>>>>>> jerome
>>>>>>>>>>>>>>> On Jul 21, 2009, at 3:25 PM, Marina Vatkina wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> What should setEmbeddedFileSystem() be set to? using
>>>>>>>>>>>>>>>> my GF installation (/export/v3/gfs/glassfishv3/
>>>>>>>>>>>>>>>> glassfish) causes
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> java.io.FileNotFoundException: /export/v3/gfs/
>>>>>>>>>>>>>>>> glassfishv3/ lib/ install/applications/__ds_jdbc_ra
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> (see missing "glassfish" after "glassfishv3").
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> There are also strange NameNotFoundExceptions like
>>>>>>>>>>>>>>>> "__SYSTEM" but this can be a side effect of the
>>>>>>>>>>>>>>>> original problem.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> thanks,
>>>>>>>>>>>>>>>> -marina
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Marina Vatkina wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Jerome Dochez wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Jul 21, 2009, at 8:41 AM, Marina Vatkina wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Jerome Dochez wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On Jul 20, 2009, at 10:01 AM, Marina Vatkina wrote:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Jerome Dochez wrote:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> On Jul 17, 2009, at 7:18 PM, Marina Vatkina
>>>>>>>>>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> Is it possible to use JPA with the latest
>>>>>>>>>>>>>>>>>>>>>>> embedded GF?
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> no yet, I have not tried
>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> If yes, how do I specify the details of the
>>>>>>>>>>>>>>>>>>>>>>> jdbc resource to be used?
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> you would need to run asadmin commands, the
>>>>>>>>>>>>>>>>>>>>>> embedded way, through the
>>>>>>>>>>>>>>>>>>>>>> EmbeddedAdminContainer.
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Is it possible to point to an existing
>>>>>>>>>>>>>>>>>>>>> domain.xml instead?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> yes you can do that see
>>>>>>>>>>>>>>>>>>>> Server.ServerBuilder setEmbeddedFileSystem()
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Will it also load all apps registered in such
>>>>>>>>>>>>>>>>>>> domain?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> yes but that suppose you have a valid domains
>>>>>>>>>>>>>>>>>> directory (inplanted mode). why would you
>>>>>>>>>>>>>>>>>> want to do that ?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> I won't, I'm afraid of side-effects :(.
>>>>>>>>>>>>>>>>> What the setEmbeddedFileSystem() should be set to
>>>>>>>>>>>>>>>>> and what is the expected behavior?
>>>>>>>>>>>>>>>>> thanks,
>>>>>>>>>>>>>>>>> -marina
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> If not, are there any examples that I can look at?
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> yes look at EmbeddedTest in distribution/web.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> thanks,
>>>>>>>>>>>>>>>>>>>>>>> -marina
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>>>>> To unsubscribe, e-mail: dev- unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>>>>>>>> For additional commands, e-mail: dev- help_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>>>>>> For additional commands, e-mail: dev- help_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>>> To unsubscribe, e-mail: dev- unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>>> To unsubscribe, e-mail: dev- unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>>> For additional commands, e-mail: dev- help_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>> For additional commands, e-mail: dev- help_at_glassfish.dev.java.net
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>> To unsubscribe, e-mail: dev- unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>>>>>>>>
>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>> To unsubscribe, e-mail: dev- unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>>> For additional commands, e-mail: dev- help_at_glassfish.dev.java.net
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>>>>>>
>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>> To unsubscribe, e-mail: dev-
>>>>>>>>>> unsubscribe_at_glassfish.dev.java.net
>>>>>>>>>> For additional commands, e-mail: dev- help_at_glassfish.dev.java.net
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ---------------------------------------------------------------------
>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>>> For additional commands, e-mail: dev-
>>>>>>>> help_at_glassfish.dev.java.net
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>>>
>>> #!/bin/sh
>>> GF_HOME=/export/v3/gfs/glassfishv3/glassfish
>>> export GF_HOME
>>> java -cp "target/test-classes:$GF_HOME/modules/glassfish.jar:
>>> $GF_HOME/modules/hk2.jar:$GF_HOME/modules/glassfish-api.jar:
>>> $GF_HOME/ modules/ejb-container.jar:$GF_HOME/modules/javax.ejb.jar:
>>> $GF_HOME/ modules/common-util.jar:$GF_HOME/modules/internal-
>>> api.jar:$GF_HOME/ modules/config-api.jar:$GF_HOME/modules/grizzly-
>>> config.jar:$GF_HOME/ modules/grizzly-http.jar:$GF_HOME/modules/
>>> grizzly-framework.jar: $GF_HOME/modules/container-common.jar:
>>> $GF_HOME/modules/connectors- internal-api.jar:$GF_HOME/modules/
>>> security.jar:$GF_HOME/modules/ transaction-internal-api.jar:
>>> $GF_HOME/modules/dol.jar:$GF_HOME/ modules/glassfish-naming.jar:
>>> $GF_HOME/modules/orb-connector.jar: $GF_HOME/modules/ejb-internal-
>>> api.jar:$GF_HOME/modules/deployment- javaee-core.jar:$GF_HOME/
>>> modules/deployment-common.jar:$GF_HOME/ modules/annotation-
>>> framework.jar:$GF_HOME/modules/monitoring- core.jar:$GF_HOME/
>>> modules/stats77.jar:$GF_HOME/modules/flashlight- framework.xjar"
>>> org.glassfish.tests.ejb.UnitTest
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
>> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>