dev@glassfish.java.net

Re: Embedded EJB container

From: Jerome Dochez <Jerome.Dochez_at_Sun.COM>
Date: Fri, 19 Jun 2009 09:59:15 -0700

Kumar Jayanti wrote:
> Jerome,
>
> Ron Monzillo wrote:
>> Jerome Dochez wrote:
>>> this is the new problem I ran into after trying to hook up the
>>> SecuritySniffer as part of the EJB deployment.
>>> The fact it is looking in your maven repo is because the security
>>> team is looking for a file relative to the security jar file.
>>>
>>> Are they ways to programmaticaly configure the locations of these
>>> files and please no system properties, this is not an API :)
>>
>> the location of a realm's key file is passed as an option/property in
>> the AuthRealm objects passed to the realm configuration system.
>>
>> In the non-embedded case these AuthRealm objects are constructed from
>> corresponding content in domain.xml; the file paths begin with the
>> install root property (which on xpansion may be null) which may
>> explain why the file lookup is happening wrt to th mavn repo.
> Just to show more details here is what defines the location in domain.xml
>
> <auth-realm
> classname="com.sun.enterprise.security.auth.realm.file.FileRealm"
> name="file">
> <property name="file"
> value="${com.sun.aas.instanceRoot}/config/keyfile"/>
>
> And this is getting mapped to :
> home/mvatkina/.m2/repository/org/glassfish/core/glassfish/3.0-SNAPSHOT/config/admin-keyfile
>
>
> possibly because the value of property ${com.sun.aas.instanceRoot} is
> null ?.
>
> I also saw some other email where it was trying to write the
> securerandom seed and there was some error it encountered for similar
> reasons, i could not locate the email today so i just wanted to show
> the code we are using to write the secure seed.
> @Inject
> private ServerEnvironment env;
>
> /**
> * code moved from V2 J2EEServer.run()
> */
> public void initSecureSeed() {
> File secureSeedFile = new
> File(env.getConfigDirPath(),"secure.seed");
>
> // read the secure random from the file
> long seed = readSecureSeed(secureSeedFile);
> secureRandom.setSeed(seed);
> // generate a new one for the next startup
> seed = secureRandom.nextLong();
> writeSecureSeed(secureSeedFile, seed);
> secureSeedFile = null;
> }
>
> so we are using env.getConfigDirPath() here.
>
> If you can suggest how we can handle the above two problems in the
> Embedded case then i can look into it and provide a fix.
came to the same conclusion. In practice, there are no config directory
in embedded so I can think of 3 choices.

1. ignore missing files, can security layer still function ?
2. if not, can we use the JDK ones ?
3. if not, then should we ship a basic default within our security bundle.
>
> regards,
> kumar
>
>>
>> I don't know where the AuthRealm objects come from in the "embedded"
>> case, but the value of the "file" property can be an absolute path;
>> which should cause the corresponding realms to find their files
>> (wherever they may be).
>>
>> this may be a question for the admin team.
>>
>> Ron
>>
>>>
>>> thanks, jerome
>>>
>>> Marina Vatkina wrote:
>>>
>>>> Hi Kumar,
>>>>
>>>> Next problem (why is it looking under my maven repo?):
>>>>
>>>> Jun 18, 2009 9:34:28 AM
>>>> com.sun.enterprise.security.SecurityServicesUtil writeSecureSeed
>>>> WARNING: Cannot write the seed file for fast startup. The next
>>>> startup will be slow.
>>>> Jun 18, 2009 9:34:28 AM
>>>> com.sun.enterprise.security.auth.realm.file.FileRealm loadKeyFile
>>>> WARNING: filerealm.readerror
>>>> java.io.FileNotFoundException:
>>>> /home/mvatkina/.m2/repository/org/glassfish/core/glassfish/3.0-SNAPSHOT/config/admin-keyfile
>>>> (No such file or directory)
>>>> at java.io.FileInputStream.open(Native Method)
>>>> at java.io.FileInputStream.<init>(FileInputStream.java:106)
>>>> at java.io.FileInputStream.<init>(FileInputStream.java:66)
>>>> at java.io.FileReader.<init>(FileReader.java:41)
>>>> at
>>>> com.sun.enterprise.security.auth.realm.file.FileRealm.loadKeyFile(FileRealm.java:806)
>>>>
>>>> at
>>>> com.sun.enterprise.security.auth.realm.file.FileRealm.init(FileRealm.java:209)
>>>>
>>>> at
>>>> com.sun.enterprise.security.auth.realm.Realm.doInstantiate(Realm.java:253)
>>>>
>>>> at
>>>> com.sun.enterprise.security.auth.realm.Realm.instantiate(Realm.java:165)
>>>>
>>>> at
>>>> com.sun.enterprise.security.auth.realm.RealmConfig.createRealms(RealmConfig.java:74)
>>>>
>>>> at
>>>> com.sun.enterprise.security.SecurityLifecycle.createRealms(SecurityLifecycle.java:269)
>>>>
>>>> at
>>>> com.sun.enterprise.security.SecurityLifecycle.onInitialization(SecurityLifecycle.java:165)
>>>>
>>>> at
>>>> com.sun.enterprise.security.SecurityLifecycle.postConstruct(SecurityLifecycle.java:230)
>>>>
>>>> at
>>>> com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:170)
>>>>
>>>> at
>>>> com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:90)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at
>>>> com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:87)
>>>>
>>>> at
>>>> com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)
>>>> at
>>>> com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
>>>>
>>>> at
>>>> com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
>>>> at
>>>> com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
>>>>
>>>> at
>>>> com.sun.enterprise.security.SecuritySniffer.setup(SecuritySniffer.java:105)
>>>>
>>>> at
>>>> com.sun.enterprise.v3.server.ContainerStarter.startContainer(ContainerStarter.java:101)
>>>>
>>>> at
>>>> com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainer(ApplicationLifecycle.java:614)
>>>>
>>>>
>>>> thanks,
>>>> -marina
>>>>
>>>> Kumar Jayanti wrote:
>>>>
>>>>> Marina Vatkina wrote:
>>>>>
>>>>>> Hi Kumar, Jerome,
>>>>>>
>>>>>> This NPE blocks any embedded EJB access in the current ws:
>>>>>>
>>>>> I seem to be discovering the missing initializations one-by-one
>>>>> for the embedded case. This is because the security sniffer is not
>>>>> used for embedded case. Sorry i missed seeing this email earlier.
>>>>> I just checked in a fix, let me know if there are any further issues.
>>>>>
>>>>> regards,
>>>>> kumar
>>>>>
>>>>>> javax.ejb.EJBException: java.lang.NullPointerException
>>>>>> at
>>>>>> com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1723)
>>>>>>
>>>>>> at
>>>>>> com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:188)
>>>>>>
>>>>>> at
>>>>>> com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:84)
>>>>>>
>>>>>> at $Proxy57.saySomething(Unknown Source)
>>>>>> ...
>>>>>>
>>>>>> Caused by: java.lang.NullPointerException
>>>>>> at
>>>>>> org.glassfish.ejb.security.application.EJBSecurityManager.authorize(EJBSecurityManager.java:718)
>>>>>>
>>>>>> at
>>>>>> com.sun.ejb.containers.BaseContainer.authorize(BaseContainer.java:2119)
>>>>>>
>>>>>> at
>>>>>> com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1675)
>>>>>>
>>>>>> ... 48 more
>>>>>>
>>>>>> thanks,
>>>>>> -marina
>>>>>>
>>>>>> Kumar Jayanti wrote:
>>>>>>
>>>>>>> Kumar Jayanti wrote:
>>>>>>>
>>>>>>>> I have putback a fix for the NPE today.
>>>>>>>>
>>>>>>> Sorry i wrote NPE by mistake, the fix is for the problem :
>>>>>>> java.lang.ClassNotFoundException: JACC:Error
>>>>>>> PolicyConfigurationFactory : cannot find class : null
>>>>>>>
>>>>>>> regards,
>>>>>>> kumar
>>>>>>>
>>>>>>>>
>>>>>>>> Ron Monzillo wrote:
>>>>>>>>
>>>>>>>>> Jerome Dochez wrote:
>>>>>>>>>
>>>>>>>>>> Ron Monzillo wrote:
>>>>>>>>>>
>>>>>>>>>>> Hi Jerome,
>>>>>>>>>>>
>>>>>>>>>>> I have been away, so I am just catching up on my email.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> not it is not, got busy with javaone.
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On the chance that it was not resolved, the
>>>>>>>>>>> PolicyConfigurationFactory implementation class is configued
>>>>>>>>>>> via the system property:
>>>>>>>>>>>
>>>>>>>>>>> javax.security.jacc.PolicyConfigurationFactory.provider
>>>>>>>>>>>
>>>>>>>>>>> The factory is used to find the policy configuration
>>>>>>>>>>> interface for the associated policy provider. The
>>>>>>>>>>> configuration interface is used by the deployment system to
>>>>>>>>>>> convey the ee application security policy to the pluggabble
>>>>>>>>>>> policy subsystem (for subsquent enforcement by the policy
>>>>>>>>>>> subsystem).
>>>>>>>>>>>
>>>>>>>>>>> both the factory and the policy implementation classes must
>>>>>>>>>>> be must be defined (using different properties), and it
>>>>>>>>>>> looks like you were testing in an environment where the
>>>>>>>>>>> factory property had not been defined.
>>>>>>>>>>>
>>>>>>>>>> I was afraid it would be something like this... Is there no
>>>>>>>>>> other way to achieve pluggability ? System properties are
>>>>>>>>>> evil in general but they are particularly evil in embedded
>>>>>>>>>> mode...
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> the factory must be defined by a system property (given the
>>>>>>>>> current state of the standard). If you can describe how you
>>>>>>>>> the implementation class should be identified, then I can try
>>>>>>>>> to make a maintenance revision to the spec.
>>>>>>>>>
>>>>>>>>> Java uses a security property to define the policy provider
>>>>>>>>> (which in the general case need not be jacc compatible). The
>>>>>>>>> security property is named "policy.provider", and is defined
>>>>>>>>> in jre/lib/security/java.security.
>>>>>>>>>
>>>>>>>>> jacc defines a system property to allow replacement of the
>>>>>>>>> provider configured via the security property. you could
>>>>>>>>> directly configure the jacc policy provider via the security
>>>>>>>>> property (but you would still need to configure the factory
>>>>>>>>> via a system property).
>>>>>>>>>
>>>>>>>>> Ron
>>>>>>>>>
>>>>>>>>>> jerome
>>>>>>>>>>
>>>>>>>>>>> Ron
>>>>>>>>>>>
>>>>>>>>>>> Jerome Dochez wrote:
>>>>>>>>>>>
>>>>>>>>>>>> In my test, I am not doing any transaction, so I could not
>>>>>>>>>>>> care less which one is used so far as long as it runs my
>>>>>>>>>>>> simple EJB. The dependency list is not final yet, I am
>>>>>>>>>>>> just trying to get basic EJBs working.
>>>>>>>>>>>>
>>>>>>>>>>>> On May 28, 2009, at 11:57 PM, Marina Vatkina wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Jerome,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I can't speak for the security, but I do see that you are
>>>>>>>>>>>>> using JavaEETransactionManagerSimplifiedDelegate which
>>>>>>>>>>>>> means that e.g. jts.jar is not present in your setup. Is
>>>>>>>>>>>>> it expected?
>>>>>>>>>>>>>
>>>>>>>>>>>>> thanks,
>>>>>>>>>>>>> -marina
>>>>>>>>>>>>>
>>>>>>>>>>>>> Jerome Dochez wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Kumar, Ken, Marina
>>>>>>>>>>>>>> I am making progress on the embedded EJB container, I now
>>>>>>>>>>>>>> have a test trying to deploy a simple ejb jar file
>>>>>>>>>>>>>> within maven. It seems to work until the ejb container
>>>>>>>>>>>>>> tries to setup the security.
>>>>>>>>>>>>>> I have placed inmemory.jacc.provider in the classpath
>>>>>>>>>>>>>> (remember no OSGi in such env). Why is it complaining
>>>>>>>>>>>>>> that the jacc.factory is not found ? isn't it
>>>>>>>>>>>>>> SimplePolicyProvider ?
>>>>>>>>>>>>>> part of the classpath :
>>>>>>>>>>>>>> [DEBUG]
>>>>>>>>>>>>>> /Users/dochez/.m2/repository/org/glassfish/security/
>>>>>>>>>>>>>> inmemory.jacc.provider/3.0-SNAPSHOT/inmemory.jacc.provider-3.0-
>>>>>>>>>>>>>> SNAPSHOT.jar I get the following exception :
>>>>>>>>>>>>>> -------------------------------------------------------
>>>>>>>>>>>>>> T E S T S
>>>>>>>>>>>>>> -------------------------------------------------------
>>>>>>>>>>>>>> Running org.glassfish.tests.ejb.EmbeddedTest
>>>>>>>>>>>>>> May 28, 2009 9:57:20 PM AppServerStartup start
>>>>>>>>>>>>>> INFO: Starting GlassFish Kernel
>>>>>>>>>>>>>> May 28, 2009 9:57:20 PM
>>>>>>>>>>>>>> com.sun.enterprise.v3.server.AppServerStartup run
>>>>>>>>>>>>>> INFO: GlassFish v3 startup time : Embedded(271ms)
>>>>>>>>>>>>>> startup services(287ms) total(558ms)
>>>>>>>>>>>>>> May 28, 2009 9:57:20 PM AppServerStartup run
>>>>>>>>>>>>>> INFO: [Thread[GlassFish Kernel Main Thread,5,main]] started
>>>>>>>>>>>>>> Deployment expansion took 11
>>>>>>>>>>>>>> May 28, 2009 9:57:20 PM
>>>>>>>>>>>>>> com.sun.enterprise.transaction.JavaEETransactionManagerSimplified
>>>>>>>>>>>>>> initDelegates
>>>>>>>>>>>>>> INFO: Using com .sun
>>>>>>>>>>>>>> .enterprise.transaction.JavaEETransactionManagerSimplifiedDelegate
>>>>>>>>>>>>>> as the delegate
>>>>>>>>>>>>>> >>Started EJB Container Service....: server
>>>>>>>>>>>>>> >>EjbContainerUtil:
>>>>>>>>>>>>>> com.sun.ejb.containers.EjbContainerUtilImpl_at_3aca6da2
>>>>>>>>>>>>>> DOL Loading time52
>>>>>>>>>>>>>> May 28, 2009 9:57:21 PM
>>>>>>>>>>>>>> org.glassfish.ejb.security.application.EJBSecurityManager
>>>>>>>>>>>>>> getPolicyFactory
>>>>>>>>>>>>>> SEVERE: jaccfactory.notfound
>>>>>>>>>>>>>> May 28, 2009 9:57:21 PM org.glassfish.api.ActionReport
>>>>>>>>>>>>>> failure
>>>>>>>>>>>>>> SEVERE: Exception while invoking class
>>>>>>>>>>>>>> org.glassfish.ejb.startup.EjbDeployer load method
>>>>>>>>>>>>>> java.lang.RuntimeException: EJB Container initialization
>>>>>>>>>>>>>> error
>>>>>>>>>>>>>> at org .glassfish
>>>>>>>>>>>>>> .ejb.startup.EjbApplication.loadContainers(EjbApplication.java:
>>>>>>>>>>>>>> 198) at
>>>>>>>>>>>>>> org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:160)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:57)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:152)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> at org
>>>>>>>>>>>>>> .glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:
>>>>>>>>>>>>>> 174)
>>>>>>>>>>>>>> at com .sun .enterprise
>>>>>>>>>>>>>> .v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:
>>>>>>>>>>>>>> 282) at org .glassfish .kernel
>>>>>>>>>>>>>> .embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:
>>>>>>>>>>>>>> 65) at
>>>>>>>>>>>>>> org.glassfish.tests.ejb.EmbeddedTest.test(EmbeddedTest.java:24)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>>>>>>>> Method)
>>>>>>>>>>>>>> at sun .reflect
>>>>>>>>>>>>>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
>>>>>>>>>>>>>> 39) at sun .reflect .DelegatingMethodAccessorImpl
>>>>>>>>>>>>>> .invoke(DelegatingMethodAccessorImpl.java:25) at
>>>>>>>>>>>>>> java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>>>>>>> at org .junit .internal
>>>>>>>>>>>>>> .runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:
>>>>>>>>>>>>>> 99) at org .junit .internal
>>>>>>>>>>>>>> .runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:
>>>>>>>>>>>>>> 81) at org .junit .internal .runners
>>>>>>>>>>>>>> .BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
>>>>>>>>>>>>>> at org .junit
>>>>>>>>>>>>>> .internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:
>>>>>>>>>>>>>> 75) at org
>>>>>>>>>>>>>> .junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:
>>>>>>>>>>>>>> 45)
>>>>>>>>>>>>>> at org .junit .internal .runners
>>>>>>>>>>>>>> .TestClassMethodsRunner
>>>>>>>>>>>>>> .invokeTestMethod(TestClassMethodsRunner.java:66) at
>>>>>>>>>>>>>> org .junit .internal
>>>>>>>>>>>>>> .runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:
>>>>>>>>>>>>>> 35) at org.junit.internal.runners.TestClassRunner
>>>>>>>>>>>>>> $1.runUnprotected(TestClassRunner.java:42) at org
>>>>>>>>>>>>>> .junit .internal .runners
>>>>>>>>>>>>>> .BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:
>>>>>>>>>>>>>> 52)
>>>>>>>>>>>>>> at org .apache
>>>>>>>>>>>>>> .maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:
>>>>>>>>>>>>>> 62) at org .apache .maven .surefire .suite
>>>>>>>>>>>>>> .AbstractDirectoryTestSuite
>>>>>>>>>>>>>> .executeTestSet(AbstractDirectoryTestSuite.java:140)
>>>>>>>>>>>>>> at org .apache .maven .surefire .suite
>>>>>>>>>>>>>> .AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:
>>>>>>>>>>>>>> 127) at
>>>>>>>>>>>>>> org.apache.maven.surefire.Surefire.run(Surefire.java:177)
>>>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>>>>>>>> Method)
>>>>>>>>>>>>>> at sun .reflect
>>>>>>>>>>>>>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
>>>>>>>>>>>>>> 39) at sun .reflect .DelegatingMethodAccessorImpl
>>>>>>>>>>>>>> .invoke(DelegatingMethodAccessorImpl.java:25) at
>>>>>>>>>>>>>> java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>>>>>>> at org .apache .maven .surefire
>>>>>>>>>>>>>> .booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:
>>>>>>>>>>>>>> 345) at org .apache
>>>>>>>>>>>>>> .maven.surefire.booter.SurefireBooter.run(SurefireBooter.java:
>>>>>>>>>>>>>> 241) at org .apache
>>>>>>>>>>>>>> .maven.plugin.surefire.SurefirePlugin.execute(SurefirePlugin.java:
>>>>>>>>>>>>>> 537) at org .apache .maven
>>>>>>>>>>>>>> .plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:
>>>>>>>>>>>>>> 483) at org .apache .maven .lifecycle
>>>>>>>>>>>>>> .DefaultLifecycleExecutor
>>>>>>>>>>>>>> .executeGoals(DefaultLifecycleExecutor.java:678) at
>>>>>>>>>>>>>> org .apache .maven .lifecycle .DefaultLifecycleExecutor
>>>>>>>>>>>>>> .executeGoalWithLifecycle(DefaultLifecycleExecutor.java:540)
>>>>>>>>>>>>>> at org .apache .maven .lifecycle
>>>>>>>>>>>>>> .DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:
>>>>>>>>>>>>>> 519) at org .apache .maven .lifecycle
>>>>>>>>>>>>>> .DefaultLifecycleExecutor
>>>>>>>>>>>>>> .executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
>>>>>>>>>>>>>> at org .apache .maven .lifecycle
>>>>>>>>>>>>>> .DefaultLifecycleExecutor
>>>>>>>>>>>>>> .executeTaskSegments(DefaultLifecycleExecutor.java:332)
>>>>>>>>>>>>>> at org .apache .maven .lifecycle
>>>>>>>>>>>>>> .DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:
>>>>>>>>>>>>>> 181) at
>>>>>>>>>>>>>> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
>>>>>>>>>>>>>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
>>>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>>>>>>>> Method)
>>>>>>>>>>>>>> at sun .reflect
>>>>>>>>>>>>>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
>>>>>>>>>>>>>> 39) at sun .reflect .DelegatingMethodAccessorImpl
>>>>>>>>>>>>>> .invoke(DelegatingMethodAccessorImpl.java:25) at
>>>>>>>>>>>>>> java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:
>>>>>>>>>>>>>> 315)
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>>>>>>>>>>>>>> Caused by: java.lang.RuntimeException:
>>>>>>>>>>>>>> javax.security.jacc.PolicyContextException:
>>>>>>>>>>>>>> java.lang.ClassNotFoundException: JACC:Error
>>>>>>>>>>>>>> PolicyConfigurationFactory : cannot find class : null
>>>>>>>>>>>>>> at org .glassfish .ejb .security .factory
>>>>>>>>>>>>>> .EJBSecurityManagerFactory
>>>>>>>>>>>>>> .createManager(EJBSecurityManagerFactory.java:205) at
>>>>>>>>>>>>>> org .glassfish
>>>>>>>>>>>>>> .ejb.startup.EjbApplication.loadContainers(EjbApplication.java:
>>>>>>>>>>>>>> 182) ... 50 more
>>>>>>>>>>>>>> Caused by: javax.security.jacc.PolicyContextException:
>>>>>>>>>>>>>> java.lang.ClassNotFoundException: JACC:Error
>>>>>>>>>>>>>> PolicyConfigurationFactory : cannot find class : null
>>>>>>>>>>>>>> at org .glassfish .ejb .security .application
>>>>>>>>>>>>>> .EJBSecurityManager.getPolicyFactory(EJBSecurityManager.java:
>>>>>>>>>>>>>> 220) at org .glassfish .ejb .security .application
>>>>>>>>>>>>>> .EJBSecurityManager.loadPolicyConfiguration(EJBSecurityManager.java:
>>>>>>>>>>>>>> 235) at org .glassfish .ejb .security
>>>>>>>>>>>>>> .application.EJBSecurityManager.initialize(EJBSecurityManager.java:
>>>>>>>>>>>>>> 299) at org .glassfish .ejb .security
>>>>>>>>>>>>>> .application.EJBSecurityManager.<init>(EJBSecurityManager.java:
>>>>>>>>>>>>>> 183) at org .glassfish .ejb .security .factory
>>>>>>>>>>>>>> .EJBSecurityManagerFactory
>>>>>>>>>>>>>> .createManager(EJBSecurityManagerFactory.java:198) ...
>>>>>>>>>>>>>> 51 more
>>>>>>>>>>>>>> Caused by: java.lang.ClassNotFoundException: JACC:Error
>>>>>>>>>>>>>> PolicyConfigurationFactory : cannot find class : null
>>>>>>>>>>>>>> at javax .security .jacc .PolicyConfigurationFactory
>>>>>>>>>>>>>> .getPolicyConfigurationFactory(PolicyConfigurationFactory.java:
>>>>>>>>>>>>>> 172) at org .glassfish .ejb .security .application
>>>>>>>>>>>>>> .EJBSecurityManager.getPolicyFactory(EJBSecurityManager.java:
>>>>>>>>>>>>>> 217) ... 55 more
>>>>>>>>>>>>>> Caused by: java.lang.ClassNotFoundException: JACC:Error
>>>>>>>>>>>>>> PolicyConfigurationFactory : property not set :
>>>>>>>>>>>>>> javax.security.jacc.PolicyConfigurationFactory.provider
>>>>>>>>>>>>>> at javax .security .jacc .PolicyConfigurationFactory
>>>>>>>>>>>>>> .getPolicyConfigurationFactory(PolicyConfigurationFactory.java:
>>>>>>>>>>>>>> 157) ... 56 more
>>>>>>>>>>>>>> May 28, 2009 9:57:21 PM org.glassfish.api.ActionReport
>>>>>>>>>>>>>> failure
>>>>>>>>>>>>>> SEVERE: Exception while loading the app
>>>>>>>>>>>>>> java.lang.RuntimeException: EJB Container initialization
>>>>>>>>>>>>>> error
>>>>>>>>>>>>>> at org .glassfish
>>>>>>>>>>>>>> .ejb.startup.EjbApplication.loadContainers(EjbApplication.java:
>>>>>>>>>>>>>> 198) at
>>>>>>>>>>>>>> org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:160)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:57)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:152)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> at org
>>>>>>>>>>>>>> .glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:
>>>>>>>>>>>>>> 174)
>>>>>>>>>>>>>> at com .sun .enterprise
>>>>>>>>>>>>>> .v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:
>>>>>>>>>>>>>> 282) at org .glassfish .kernel
>>>>>>>>>>>>>> .embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:
>>>>>>>>>>>>>> 65) at
>>>>>>>>>>>>>> org.glassfish.tests.ejb.EmbeddedTest.test(EmbeddedTest.java:24)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>>>>>>>> Method)
>>>>>>>>>>>>>> at sun .reflect
>>>>>>>>>>>>>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
>>>>>>>>>>>>>> 39) at sun .reflect .DelegatingMethodAccessorImpl
>>>>>>>>>>>>>> .invoke(DelegatingMethodAccessorImpl.java:25) at
>>>>>>>>>>>>>> java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>>>>>>> at org .junit .internal
>>>>>>>>>>>>>> .runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:
>>>>>>>>>>>>>> 99) at org .junit .internal
>>>>>>>>>>>>>> .runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:
>>>>>>>>>>>>>> 81) at org .junit .internal .runners
>>>>>>>>>>>>>> .BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
>>>>>>>>>>>>>> at org .junit
>>>>>>>>>>>>>> .internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:
>>>>>>>>>>>>>> 75) at org
>>>>>>>>>>>>>> .junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:
>>>>>>>>>>>>>> 45)
>>>>>>>>>>>>>> at org .junit .internal .runners
>>>>>>>>>>>>>> .TestClassMethodsRunner
>>>>>>>>>>>>>> .invokeTestMethod(TestClassMethodsRunner.java:66) at
>>>>>>>>>>>>>> org .junit .internal
>>>>>>>>>>>>>> .runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:
>>>>>>>>>>>>>> 35) at org.junit.internal.runners.TestClassRunner
>>>>>>>>>>>>>> $1.runUnprotected(TestClassRunner.java:42) at org
>>>>>>>>>>>>>> .junit .internal .runners
>>>>>>>>>>>>>> .BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:
>>>>>>>>>>>>>> 52)
>>>>>>>>>>>>>> at org .apache
>>>>>>>>>>>>>> .maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:
>>>>>>>>>>>>>> 62) at org .apache .maven .surefire .suite
>>>>>>>>>>>>>> .AbstractDirectoryTestSuite
>>>>>>>>>>>>>> .executeTestSet(AbstractDirectoryTestSuite.java:140)
>>>>>>>>>>>>>> at org .apache .maven .surefire .suite
>>>>>>>>>>>>>> .AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:
>>>>>>>>>>>>>> 127) at
>>>>>>>>>>>>>> org.apache.maven.surefire.Surefire.run(Surefire.java:177)
>>>>>>>>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>>>>>>>>>>>>>> Method)
>>>>>>>>>>>>>> at sun .reflect
>>>>>>>>>>>>>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
>>>>>>>>>>>>>> 39) at sun .reflect .DelegatingMethodAccessorImpl
>>>>>>>>>>>>>> .invoke(DelegatingMethodAccessorImpl.java:25) at
>>>>>>>>>>>>>> java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>>>>>>> at org .apache .maven .surefire
>>>>>>>>>>>>>> .booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:
>>>>>>>>>>>>>> 345) at org .apache
>>>>>>>>>>>>>> .maven.surefire.booter.SurefireBooter.run(SurefireBooter.java:
>>>>>>>>>>>>>> 241) at org .apache
>>>>>>>>>>>>>> .maven.plugin.surefire.SurefirePlugin.execute(SurefirePlugin.java:
>>>>>>>>>>>>>> 537) at org .apache .maven
>>>>>>>>>>>>>> .plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:
>>>>>>>>>>>>>> 483) at org .apache .maven .lifecycle
>>>>>>>>>>>>>> .DefaultLifecycleExecutor
>>>>>>>>>>>>>> .executeGoals(DefaultLifecycleExecutor.java:678) at
>>>>>>>>>>>>>> org .apache .maven .lifecycle .DefaultLifecycleExecutor
>>>>>>>>>>>>>> .executeGoalWithLifecycle(DefaultLifecycleExecutor.java:540)
>>>>>>>>>>>>>> at org .apache .maven .lifecycle
>>>>>>>>>>>>>> .DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:
>>>>>>>>>>>>>> 519) at org .apache .maven .lifecycle
>>>>>>>>>>>>>> .DefaultLifecycleExecutor
>>>>>>>>>>>>>> .executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
>>>>>>>>>>>>>> at org .apache .maven .lifecycle
>>>>>>>>>>>>>> .DefaultLifecycleExecutor
>>>>>>>>>>>>>> .executeTaskSegments(DefaultLifecycleExecutor.java:332)
>>>>>>>>>>>>>> at org .apache .maven .lifecycle
>>>>>>>>>>>>>> .DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:
>>>>>>>>>>>>>> 181) at
>>>>>>>>>>>>>> org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
>>>>>>>>>>>>>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>>>>>>> at sun .reflect
>>>>>>>>>>>>>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
>>>>>>>>>>>>>> 39) at sun .reflect .DelegatingMethodAccessorImpl
>>>>>>>>>>>>>> .invoke(DelegatingMethodAccessorImpl.java:25) at
>>>>>>>>>>>>>> java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:
>>>>>>>>>>>>>> 315)
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> at
>>>>>>>>>>>>>> org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>>>>>>>>>>>>>> Caused by: java.lang.RuntimeException:
>>>>>>>>>>>>>> javax.security.jacc.PolicyContextException:
>>>>>>>>>>>>>> java.lang.ClassNotFoundException: JACC:Error
>>>>>>>>>>>>>> PolicyConfigurationFactory : cannot find class : null
>>>>>>>>>>>>>> at org .glassfish .ejb .security .factory
>>>>>>>>>>>>>> .EJBSecurityManagerFactory
>>>>>>>>>>>>>> .createManager(EJBSecurityManagerFactory.java:205) at
>>>>>>>>>>>>>> org .glassfish
>>>>>>>>>>>>>> .ejb.startup.EjbApplication.loadContainers(EjbApplication.java:
>>>>>>>>>>>>>> 182) ... 50 more
>>>>>>>>>>>>>> Caused by: javax.security.jacc.PolicyContextException:
>>>>>>>>>>>>>> java.lang.ClassNotFoundException: JACC:Error
>>>>>>>>>>>>>> PolicyConfigurationFactory : cannot find class : null
>>>>>>>>>>>>>> at org .glassfish .ejb .security .application
>>>>>>>>>>>>>> .EJBSecurityManager.getPolicyFactory(EJBSecurityManager.java:
>>>>>>>>>>>>>> 220) at org .glassfish .ejb .security .application
>>>>>>>>>>>>>> .EJBSecurityManager.loadPolicyConfiguration(EJBSecurityManager.java:
>>>>>>>>>>>>>> 235) at org .glassfish .ejb .security
>>>>>>>>>>>>>> .application.EJBSecurityManager.initialize(EJBSecurityManager.java:
>>>>>>>>>>>>>> 299) at org .glassfish .ejb .security
>>>>>>>>>>>>>> .application.EJBSecurityManager.<init>(EJBSecurityManager.java:
>>>>>>>>>>>>>> 183) at org .glassfish .ejb .security .factory
>>>>>>>>>>>>>> .EJBSecurityManagerFactory
>>>>>>>>>>>>>> .createManager(EJBSecurityManagerFactory.java:198) ...
>>>>>>>>>>>>>> 51 more
>>>>>>>>>>>>>> Caused by: java.lang.ClassNotFoundException: JACC:Error
>>>>>>>>>>>>>> PolicyConfigurationFactory : cannot find class : null
>>>>>>>>>>>>>> at javax .security .jacc .PolicyConfigurationFactory
>>>>>>>>>>>>>> .getPolicyConfigurationFactory(PolicyConfigurationFactory.java:
>>>>>>>>>>>>>> 172) at org .glassfish .ejb .security .application
>>>>>>>>>>>>>> .EJBSecurityManager.getPolicyFactory(EJBSecurityManager.java:
>>>>>>>>>>>>>> 217) ... 55 more
>>>>>>>>>>>>>> Caused by: java.lang.ClassNotFoundException: JACC:Error
>>>>>>>>>>>>>> PolicyConfigurationFactory : property not set :
>>>>>>>>>>>>>> javax.security.jacc.PolicyConfigurationFactory.provider
>>>>>>>>>>>>>> at javax .security .jacc .PolicyConfigurationFactory
>>>>>>>>>>>>>> .getPolicyConfigurationFactory(PolicyConfigurationFactory.java:
>>>>>>>>>>>>>> 157) ... 56 more
>>>>>>>>>>>>>> Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time
>>>>>>>>>>>>>> elapsed: 1.108 sec
>>>>>>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 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
>