dev@glassfish.java.net

Embedded EJB container

From: Jerome Dochez <Jerome.Dochez_at_Sun.COM>
Date: Thu, 28 May 2009 22:02:36 -0700

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