[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2719) NotLoggedInException and AuthorizationException handlers defined in pages.xml are ignored on IBM JVM
by Jonathan Marston (JIRA)
NotLoggedInException and AuthorizationException handlers defined in pages.xml are ignored on IBM JVM
----------------------------------------------------------------------------------------------------
Key: JBSEAM-2719
URL: http://jira.jboss.com/jira/browse/JBSEAM-2719
Project: JBoss Seam
Issue Type: Bug
Affects Versions: 2.0.1.GA
Environment: SUSE 10 on s390x, IBM JVM 2.6 (Sun JRE 1.6 update 4 equivalent)
Reporter: Jonathan Marston
I have set up a page with restricted authority, and exception handlers for NotLoggedInException and AuthorizationException in pages.xml as follows:
<?xml version="1.0" encoding="UTF-8"?>
<pages xmlns="http://jboss.com/products/seam/pages"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.0.xsd" login-view-id="/login.xhtml">
<page view-id="/restricted.xhtml" login-required="true"/>
<page view-id="/noauthority.xhtml" login-required="true">
<restrict>>#{s:hasRole('admin')}</restrict>
</page>
<!-- Exception pages -->
<exception class="org.jboss.seam.security.NotLoggedInException">
<redirect view-id="/error.xhtml">
<message>You need to be logged to view this page.</message>
</redirect>
</exception>
<exception class="org.jboss.seam.security.AuthorizationException">
<redirect view-id="/error.xhtml">
<message>You don't have security permissions</message>
</redirect>
</exception>
<exception>
<redirect view-id="/error.xhtml">
<message>An exception occured</message>
</redirect>
</exception>
</pages>
The restricted.xhtml requires you to be logged in, and noauthority.xhtml requires admin authority. Everything works as expected on Sun JVM under Windows, but our s390x mainframe requires us to use the IBM JVM, where it fails to handle the AuthorizationException when accessing noauthority.xhtml. The exception is generated, but uncaught, as can be seen in the log file:
[ERROR] uncaught exception
org.jboss.seam.security.AuthorizationException: Authorization check failed for expression [>#{s:hasRole('admin')}]
Unlike on Sun's JRE, the exception is repeated as being "swallowed":
[ERROR] swallowing exception
org.jboss.seam.security.AuthorizationException: Authorization check failed for expression [>#{s:hasRole('admin')}]
The same happened for the NotLoggedInException, until I added a login-view-id attribute to the <pages> element in pages.xml.
Other exception types are handled by the catch-all handler I set up - just NotLoggedInException and AuthorizationException are ignored.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 9 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2833) Glassfish Jee5 example deployment fails with NoClassDefFoundError: EDU/oswego/cs/dl/util/concurrent/ConcurrentReaderHashMap
by Jay Balunas (JIRA)
Glassfish Jee5 example deployment fails with NoClassDefFoundError: EDU/oswego/cs/dl/util/concurrent/ConcurrentReaderHashMap
---------------------------------------------------------------------------------------------------------------------------
Key: JBSEAM-2833
URL: http://jira.jboss.com/jira/browse/JBSEAM-2833
Project: JBoss Seam
Issue Type: Bug
Components: Examples
Affects Versions: 2.0.2.CR1
Environment: Glassfish V2.1
Reporter: Jay Balunas
Priority: Minor
Fix For: 2.0.2.CR2
This is typically missing "concurrent.jar" however - I have seen that "jboss-archive-browsing.jar" fixes this issue as well.
This was following instructions in the readme.txt in the jee5 example.
[#|2008-04-02T16:19:48.569-0400|WARNING|sun-appserver9.1|javax.enterprise.system.stream.err|_ThreadID=17;_ThreadName=Thread-25;_RequestID=c40ebac4-b942-4743-adbc-c8515f9ec122;|
java.lang.NoClassDefFoundError: EDU/oswego/cs/dl/util/concurrent/ConcurrentReaderHashMap
at org.jboss.util.file.ArchiveBrowser.<clinit>(ArchiveBrowser.java:52)
at org.hibernate.ejb.Ejb3Configuration.scanForClasses(Ejb3Configuration.java:626)
at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:350)
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126)
at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:149)
at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:84)
at com.sun.enterprise.server.AbstractLoader.loadPersistenceUnits(AbstractLoader.java:898)
at com.sun.enterprise.server.ApplicationLoader.doLoad(ApplicationLoader.java:184)
at com.sun.enterprise.server.TomcatApplicationLoader.doLoad(TomcatApplicationLoader.java:126)
at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:244)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:336)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:210)
at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:645)
at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:928)
at com.sun.enterprise.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:912)
at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:461)
at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:176)
at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:226)
at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:919)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:591)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:635)
at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:744)
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:585)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:375)
at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:358)
at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:464)
at com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
at $Proxy1.invoke(Unknown Source)
at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
at com.sun.enterprise.deployment.client.DeploymentClientUtils.startApplication(DeploymentClientUtils.java:145)
at com.sun.enterprise.deployment.client.DeployAction.run(DeployAction.java:537)
at java.lang.Thread.run(Thread.java:595)
|#]
[#|2008-04-02T16:19:48.572-0400|WARNING|sun-appserver9.1|javax.enterprise.system.tools.admin|_ThreadID=17;_ThreadName=Thread-25;EDU/oswego/cs/dl/util/concurrent/ConcurrentReaderHashMap;_RequestID=c40ebac4-b942-4743-adbc-c8515f9ec122;|ADM5603:Event listener error [EDU/oswego/cs/dl/util/concurrent/ConcurrentReaderHashMap]|#]
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 10 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2897) externalize list of deployable jars in seam-gen projects
by Dan Allen (JIRA)
externalize list of deployable jars in seam-gen projects
--------------------------------------------------------
Key: JBSEAM-2897
URL: http://jira.jboss.com/jira/browse/JBSEAM-2897
Project: Seam
Issue Type: Feature Request
Components: Tools
Affects Versions: 2.1.0.A1, 2.0.2.CR1, 2.0.1.GA
Reporter: Dan Allen
Assigned To: Dan Allen
Priority: Minor
Fix For: 2.0.2.CR2, 2.1.0.BETA1
Adding a new JAR to be included a seam-gen project deployment is a huge pain. You have to dive down into the middle of the build.xml file and find the inclusion list nested within the copy-libs target. Try explaining that to a newbie.
Despite plans to redesign the dependency mechanism in seam-gen projects, I think it is important to fix the smaller issue at hand. Let's externalize the list of deployed jars and use <includesfile name="deployed-jars.list"/> to include them.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 10 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-2888) Calling Session.invalidate() leads to an explosion of new sessions
by Dan Allen (JIRA)
Calling Session.invalidate() leads to an explosion of new sessions
------------------------------------------------------------------
Key: JBSEAM-2888
URL: http://jira.jboss.com/jira/browse/JBSEAM-2888
Project: Seam
Issue Type: Bug
Components: Core
Affects Versions: 2.1.0.A1, 2.0.2.CR1, 2.0.1.GA
Reporter: Dan Allen
There appears to be a pretty nasty bug in Seam during the post-session invalidation routine. If you call #{session.invalidate} (which is also called by #{identity.logout}) a new session is created each time the conversation is referenced for the duration of the request.
To observe this behavior, install an HttpSessionListener that watches for session creation. Then run one of these two action listener methods. You will observe the many hits to the sessionCreated() method during the request that terminates the session with Session.invalidate().
public class SessionNotifier implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent e) {
System.out.println("created session with id: " + e.getSession().getId());
}
public void sessionDestroyed(HttpSessionEvent e) {}
}
You can run Thread.dumpStack() in the listener to see that it is happening as a result of attribute reads on the ServerConversationContext. I guess because the session was invalidated, Seam attempts to recreate the session over and over as it works with the conversation within that request.
I consider this a pretty serious bug because it leads to significant growth of the HTTP session.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 10 months