I'm using seam cvs (2 weeks old I think).
I use @Restrict on entity beans.

The doc here  
http://docs.jboss.com/seam/2.0.0.B1/reference/en/html/security.html#d0e6939  
states 

anonymous wrote : If you are using a Hibernate SessionFactory configured via 
Seam, you don't need to do anything special to use entity security.

As I use this :

<persistence:managed-persistence-context name="entityManager"
  |                                      auto-create="true"
  |                       
persistence-unit-jndi-name="java:/metabookEntityManagerFactory"/>

I was using a "Hibernate SessionFactory configured via Seam" ?

It seems not so I looked for an @Restrict example. The only one used in 
entitybeans is in seamspace example. And the example has this orm.xml file.

So I've put it too in our project and ... it works, but breaks this :

@Name("settings")
  | @Scope(APPLICATION)
  | @Startup
  | public class Settings {
  | 
  |     @In
  |     private EntityManager entityManager;
  | 
  |     private Map<String, String> settings;
  | 
  |     public String getSetting(String key) {
  |             if (settings.containsKey(key)) {
  |                     return settings.get(key);
  |             } else {
  |                     return "";
  |             }
  |     }
  | 
  |     @Create
  |     @SuppressWarnings("unchecked")
  |     public void loadSettings() {
  | 
  |             List<Parameter> resultSet = entityManager.createQuery(
  |                             "select p from Parameter p where realm = 
'application'")
  |                             .getResultList();
  |             [ ... ]
  |     }
  | 
  |     @Remove
  |     @Destroy
  |     public void destroy() {
  |     }
  | }
  | 

Without the orm.xml file, the above component works and is successfully loaded 
and created at startup, but @Restrict on entities doesn't work.

I get this when deploying with the orm.xml file :

08:18:23,325 INFO  [Contexts] starting up: org.jboss.seam.remoting.remoting
  | 08:18:23,326 INFO  [Contexts] starting up: 
org.jboss.seam.ui.graphicImage.graphicImageResource
  | 08:18:23,331 INFO  [Contexts] starting up: 
org.jboss.seam.ui.resource.styleResource
  | 08:18:23,332 INFO  [Contexts] starting up: settings
  | 08:18:23,820 ERROR [[/metabook]] Exception lors de l'envoi de l'évènement 
contexte initialisé (context initialized) à l'instance de classe d'écoute 
(listener) org.jboss.seam.servlet.SeamListener
  | java.lang.IllegalStateException: No active session context
  |         at org.jboss.seam.security.Identity.instance(Identity.java:157)
  |         at 
org.jboss.seam.security.EntitySecurityListener.postLoad(EntitySecurityListener.java:26)
  |         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.hibernate.ejb.event.ListenerCallback.invoke(ListenerCallback.java:31)
  |         at 
org.hibernate.ejb.event.EntityCallbackHandler.callback(EntityCallbackHandler.java:78)
  |         at 
org.hibernate.ejb.event.EntityCallbackHandler.postLoad(EntityCallbackHandler.java:71)
  |         at 
org.hibernate.ejb.event.EJB3PostLoadEventListener.onPostLoad(EJB3PostLoadEventListener.java:35)
  |         at 
org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:201)
  |         at 
org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:854)
  |         at org.hibernate.loader.Loader.doQuery(Loader.java:729)
  |         at 
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
  |         at org.hibernate.loader.Loader.doList(Loader.java:2220)
  |         at 
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
  |         at org.hibernate.loader.Loader.list(Loader.java:2099)
  |         at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
  |         at 
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
  |         at 
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
  |         at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
  |         at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
  |         at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:64)
  |         at com.lrb.metabook.Settings.loadSettings(Settings.java:50)
  |         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.jboss.seam.util.Reflections.invoke(Reflections.java:23)
  |         at 
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
  |         at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
  |         at 
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
  |         at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  |         at 
org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
  |         at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  |         at 
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
  |         at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  |         at 
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
  |         at 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:155)
  |         at 
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:91)
  |         at 
com.lrb.metabook.Settings_$$_javassist_0.loadSettings(Settings_$$_javassist_0.java)
  |         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.jboss.seam.util.Reflections.invoke(Reflections.java:23)
  |         at 
org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:127)
  |         at org.jboss.seam.Component.callComponentMethod(Component.java:2083)
  |         at org.jboss.seam.Component.callCreateMethod(Component.java:2006)
  |         at org.jboss.seam.Component.newInstance(Component.java:1977)
  |         at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304)
  |         at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278)
  |         at 
org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:95)
  |         at org.jboss.seam.init.Initialization.init(Initialization.java:545)
  |         at 
org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:34)
  |         at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3854)
  |         at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:4359)
  |         at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:761)
  |         at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:741)
  |         at 
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
  |         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.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
  |         at 
org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
  |         at 
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |         at 
org.apache.catalina.core.StandardContext.init(StandardContext.java:5310)
  |         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.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
  |         at 
org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
  |         at 
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |         at 
org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(TomcatDeployer.java:301)
  |         at 
org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeployer.java:104)
  |         at 
org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:375)
  |         at org.jboss.web.WebModule.startModule(WebModule.java:83)
  |         at org.jboss.web.WebModule.startService(WebModule.java:61)
  |         at 
org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
  |         at 
org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
  |         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
  |         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:597)
  |         at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  |         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  |         at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
  |         at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  |         at 
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |         at 
org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
  |         at $Proxy0.start(Unknown Source)
  |         at 
org.jboss.system.ServiceController.start(ServiceController.java:417)
  |         at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
  |         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:597)
  |         at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  |         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  |         at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
  |         at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  |         at 
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |         at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  |         at $Proxy45.start(Unknown Source)
  |         at 
org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:466)
  |         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.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  |         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  |         at 
org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
  |         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  |         at 
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
  |         at 
org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
  |         at 
org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238)
  |         at 
org.jboss.ws.integration.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:93)
  |         at 
org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188)
  |         at 
org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95)
  |         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  |         at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  |         at 
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |         at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  |         at $Proxy46.start(Unknown Source)
  |         at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
  |         at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
  |         at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
  |         at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
  |         at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source)
  |         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:597)
  |         at 
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
  |         at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
  |         at 
org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
  |         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  |         at 
org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
  |         at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
  |         at 
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
  |         at 
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
  |         at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
  |         at $Proxy9.deploy(Unknown Source)
  |         at 
org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
  |         at 
org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:610)
  |         at 
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
  |         at 
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
  |         at 
org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)

It breaks in my code here, when I try to use the entityManager :
at com.lrb.metabook.Settings.loadSettings(Settings.java:50)

So, I have two questions :
- Why do I have to use the orm.xml file ?
- Why does my above component does not work when using it ?

Thanks you ! :)

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4083778#4083778

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4083778

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to