[JBoss Seam] - Sometime seam listener does not work correctly...
by xinhua
hi,all
i use Seam 1.2.1GA security and event listener to trigger logout() from authenticator when user session is time out. But it didnot work sometime.
Here is my configuration in components.xml
| <event type="org.jboss.seam.preDestroyContext.SESSION">
| <action expression="#{authenticator.logout}" />
| </event>
|
authenticator:
| @Stateless
| @Name("authenticator")
| public class AuthenticatorBean implements Authenticator{
|
| @In
| private Identity identity;
| @In
| private FacesMessages facesMessages;
|
| @Logger
| private Log log;
|
| public boolean authenticate() {
| String username = identity.getUsername();
| String password = identity.getPassword();
|
|
| if(username.equalsIgnoreCase("xinhua")){
| return true;
|
| }else{
| facesMessages.addFromResourceBundle("loginForm_loginFailed");
| return false;
| }
|
|
| }
|
| public void logout() {
| log.info("logout(): user "+identity.getUsername()+" logout");
| identity.logout();
| }
|
| }
|
When user session is out of time, a null exception appears sometime.And logout() is skipped...
| 17:52:40,793 ERROR [[/strato]] Session event listener threw exception
| java.lang.NullPointerException: facesContext
| at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:110)
| at org.jboss.seam.actionparam.ActionParamBindingHelper.invokeTheExpression(ActionParamBindingHelper.java:58)
| at org.jboss.seam.actionparam.ActionParamMethodBinding.invoke(ActionParamMethodBinding.java:75)
| at org.jboss.seam.core.Expressions$2.invoke(Expressions.java:148)
| at org.jboss.seam.core.Events.raiseEvent(Events.java:63)
| at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:215)
| at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:297)
| at org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:45)
| at org.apache.catalina.session.StandardSession.expire(StandardSession.java:687)
| at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:579)
| at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:678)
| at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:663)
| at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1284)
| at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1569)
| at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
| at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
| at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1558)
| at java.lang.Thread.run(Thread.java:595)
| 17:52:49,059 INFO [Lifecycle] starting up: org.jboss.seam.security.identity
| 17:54:40,891 ERROR [[/strato]] Session event listener threw exception
| java.lang.IllegalStateException: Please end the HttpSession via Seam.invalidateSession()
| at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:269)
| at org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:45)
| at org.apache.catalina.session.StandardSession.expire(StandardSession.java:687)
| at org.apache.catalina.session.StandardSession.isValid(StandardSession.java:579)
| at org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:678)
| at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:663)
| at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1284)
| at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1569)
| at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
| at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
| at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1558)
| at java.lang.Thread.run(Thread.java:595)
|
the listener is not stable when sessionDestroyed. :(
anyone can tell me why?
thanks!
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4054062#4054062
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4054062
18Â years, 11Â months
[Management, JMX/JBoss] - MBean trying to send email fails with javax.activation.Unsup
by pholli
I have both an MBean method and an EJB method that hits the same POJO object via JNDI lookup.
The call results in an email being sent out.
It works from the EJB.
It works from the MBean when I use the jboss jmx-console web interface.
It does NOT work when the call for the MBean is via JConsole.
I am not using the jboss mail service. The activation.jar and mail.jar are provided via a codebase set in the jboss-service.xml.
I can only assume this must be a class path issue.
Any help would be appreciated.
Thanks.
Stack Trace:
11:51:24,060 ERROR [TestMailModule] Exception sending message: Exception trying to send a text email message...exception: IOException while sending message...exception: IOException while sending message
javax.mail.MessagingException: IOException while sending message;
nested exception is:
javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/plain
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:625)
at javax.mail.Transport.send0(Transport.java:169)
at javax.mail.Transport.send(Transport.java:98)
at com.xxi.framework.mailmodule.impl.MailModule.sendMessage(MailModule.java:188)
at com.xxi.framework.mailmodule.impl.MailModule.sendMail(MailModule.java:245)
at com.xxi.framework.mailmodule.impl.MailModule.sendMail(MailModule.java:127)
at com.xxi.framework.mailmodule.impl.MailModule.sendTestEmail(MailModule.java:570)
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.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.server.jmx.LazyMBeanServer.invoke(LazyMBeanServer.java:279)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1424)
at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1262)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1357)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:786)
at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/plain
at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:870)
at javax.activation.DataHandler.writeTo(DataHandler.java:301)
at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1350)
at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1683)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:585)
... 34 more
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4054058#4054058
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4054058
18Â years, 11Â months
[Beginners Corner] - don't know what to do with error message on deploy...
by Nephthys76
Hi...
JBoss 4.2.0
JDK 1.5.0_11
Windows XP
I have just put a .war file into my "deploy" folder. When JBoss attempted to deploy, I got a very long stack trace of errors. The .war file is not mine... I don't know what it contains except that I know it is using ADF JavaServerFaces (adf-faces-impl-10_1_3_0_4.jar).
The initial error is:
14:06:27,343 ERROR [[/ADFTest]] Exception sending context initialized event to listener instance of class org.jboss.web.jsf.integration.config.JBossJSFConfigureListener
| java.lang.ClassCastException: com.sun.faces.application.ApplicationAssociate
| at com.sun.faces.application.ApplicationAssociate.getInstance(ApplicationAssociate.java:172)
| at com.sun.faces.config.JSFVersionTracker.publishInstanceToApplication(JSFVersionTracker.java:266)
I have "googled" the error, and determined that one possible cause of this problem lies in the application.xml, where a reference to the .war filename has the wrong case (i.e. ADFTEST.war instead of ADFTest.war). There was such a reference, and I fixed it, but I still received the same error.
Any direction at all on this one would be very helpful.
Thanks in advance,
Tonya
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4054050#4054050
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4054050
18Â years, 11Â months