-
1. Re: IDM installing and deploying under JBOSS
jeff.yuchang Feb 1, 2010 9:20 AM (in response to unlex) -
2. Re: IDM installing and deploying under JBOSS
bdaw Feb 1, 2010 9:42 AM (in response to unlex)Deploying IDM as a JBoss AS service may be usefull if you want to consume it from several apps. For a simple setup or for a single app you can bootstrap it easier manually. Please look at the provided examples. The example/simple is a maven project that bootstraps the service and perform some tests. The example/auth creates a simple sar archive that will start IDM service and populate it - then you can play with simple war secured with JAAS LoginModule leveraging IDM. -
3. Re: IDM installing and deploying under JBOSS
unlex Feb 2, 2010 6:50 AM (in response to unlex)Well. Finally, after hours of considerable effort I've managed to deploy the idm into the JBoss AS 5. Now I can obtain IdentitySession object by JNDI lookup:
InitialContext ic = new InitialContext();
IdentitySessionFactory idmSessionFactory = (IdentitySessionFactoryImpl) ic.lookup("java:/IdentitySessionFactory");
IdentitySession is = idmSessionFactory.getCurrentIdentitySession("realm://JBossIdentity");But when I try to start transaction by is.beginTransaction(), I obtain the folowing error
ERROR [STDERR] org.hibernate.HibernateException: Unable to locate current JTA transaction
at org.hibernate.context.JTASessionContext.currentSession(JTASessionContext.java:88)
at org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:574)
at org.picketlink.idm.impl.store.hibernate.HibernateIdentityStoreSessionImpl.startTransaction(HibernateIdentityStoreSessionImpl.java:77)
at org.picketlink.idm.impl.repository.RepositoryIdentityStoreSessionImpl.startTransaction(RepositoryIdentityStoreSessionImpl.java:117)
at org.picketlink.idm.impl.api.session.SimpleTransactionImpl.start(SimpleTransactionImpl.java:43)
at org.picketlink.idm.impl.api.session.IdentitySessionImpl.beginTransaction(IdentitySessionImpl.java:203)
at net.hcsg.subro.stripes.action.login.UserLoginActionBean.showLoginForm(UserLoginActionBean.java:87)
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 net.sourceforge.stripes.controller.DispatcherHelper$6.intercept(DispatcherHelper.java:467)
at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:158)
at org.stripesstuff.plugin.security.SecurityInterceptor.interceptEventHandling(SecurityInterceptor.java:188)
at org.stripesstuff.plugin.security.SecurityInterceptor.intercept(SecurityInterceptor.java:120)
at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155)
at net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:113)
at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155)
at net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74)
at net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler(DispatcherHelper.java:465)
at net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandler(DispatcherServlet.java:278)
at net.sourceforge.stripes.controller.DispatcherServlet.service(DispatcherServlet.java:160)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:247)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:638)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:444)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:310)
at org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:696)
at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:667)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:55)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)What can be the reason?
-
4. Re: IDM installing and deploying under JBOSS
bdaw Feb 3, 2010 5:13 AM (in response to unlex)Your hibernate configuration is probably relying on JTA transaction. Try surrounding your code with:
UserTransaction tx = (UserTransaction)ctx.lookup("UserTransaction");
tx.begin();...
tx.commit();
Then you should not begin transactions manually with the IdentitySession. This is mainly Hibernate configuration part.
-
5. Re: IDM installing and deploying under JBOSS
unlex Feb 4, 2010 2:16 AM (in response to bdaw)Thanks. Finally I successefuly configured my Hibernate settings. So it works fine now.