[JBoss Seam] - Re: Missing exceptions within asynchronious methods
by gbcï¼ gmx.de
Sorry, my cody is at my business, no access at home, giving examples:
| @Stateful
| @Name("someComponent")
| public class someComponent implements SomeComponentLocalInterface {
|
| @Logger private Log log
|
| @Observer("myEvent")
| public void checkSomething(Some some) {
| throw new RuntimeException("Exception"); // no effect on jboss/seam
| /*
| try {
| throw new RuntimeException("Exception"); // works
| } catch (RuntimeException e) {
| log.degub("Error", e);
| }
| */
| }
|
| public void someMethod() {
| Events.instance().raiseAsynchroniousEvent("myEvent", new Some());
| }
| }
|
Code for the missing Seam Component Exception like:
|
| @Stateful
| @Name("someComponent")
| public class SomeComponent implements SomeComponentLocalInterface {
|
| @Logger private Log log
| @In(create = true) private MyComponentLocalInterface myComponent
|
| @Observer("myEvent")
| public void checkSomething(Some some) {
| log.debug(myComponent.toString); // never executes
| }
|
| public void someMethod() {
| Events.instance().raiseAsynchroniousEvent("myEvent", new Some());
| }
| }
|
| @Stateful
| @Name("myCmponent") // Spell Error
| public class MyComponent implements MyComponentLocalInterface {
| }
|
|
Ok, @Destroy method is missing, but my components at business do have them.
So, first code does not show the thrown RuntimeException, second code sould have shown an Seam Exception that component could not be found...
Hope this helps, thanks in advance
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4074183#4074183
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4074183
18Â years, 11Â months
[JBoss Seam] - Validator with SLSB - No ClassLoader Found
by NyQuest
Library Used
JBoss AS 4.0.5
JBoss Seam 1.2.1 GA
I've been searching the forums for a while now but I can't seem to find a solution to my problem.
I have a SLSB that will be doing all of the validation code:
The local interface
| import java.io.Serializable;
|
| import javax.ejb.Local;
| import javax.faces.component.UIComponent;
| import javax.faces.context.FacesContext;
| import javax.faces.validator.Validator;
| import javax.faces.validator.ValidatorException;
|
| @Local
| public interface UniqueNameConsigneeValidator extends Validator, Serializable
| {
| public void validate(FacesContext facesContext, UIComponent component, Object value) throws ValidatorException;
| }
|
The impl
import java.util.List;
|
| import javax.ejb.Stateless;
| import javax.faces.application.FacesMessage;
| import javax.faces.component.UIComponent;
| import javax.faces.context.FacesContext;
| import javax.faces.validator.ValidatorException;
| import javax.interceptor.Interceptors;
| import javax.persistence.EntityManager;
| import javax.persistence.PersistenceContext;
| import javax.persistence.Query;
|
| import org.jboss.seam.annotations.Name;
| import org.jboss.seam.annotations.jsf.Validator;
| import org.jboss.seam.ejb.SeamInterceptor;
|
| import org.jr.organization.Organization;
|
| @Name("uniqueNameConsigneeValidator")
| @Validator(id="uniqueNameConsigneeValidator")
| @Stateless
| public class UniqueNameConsigneeValidatorImpl implements UniqueNameConsigneeValidator
| {
| private static final long serialVersionUID = 3010014715756862187L;
|
| @PersistenceContext
| EntityManager em;
|
| public void validate(FacesContext facesContext, UIComponent component, Object value)
| throws ValidatorException
| {
| Query query = this.em.createQuery("from " + Organization.class.getName() + " where name = :name");
| String name = (String)value;
| query.setParameter("name", name);
| List<Organization> consignees = query.getResultList();
|
| this.em.getTransaction().commit();
| this.em.close();
|
| if (consignees.size() > 0)
| {
| throw new ValidatorException(new FacesMessage("Consignee already exists"));
| }
| }
| }
|
The View
| <s:decorate>
| <h:inputText id="conName" value="#{orgHome.instance.name}">
| <f:validator validatorId="uniqueNameConsigneeValidator"/>
| </h:inputText>
| </s:decorate>
|
The Exception
| 16:21:27,812 ERROR [ExceptionFilter] exception root cause
| javax.faces.FacesException: java.lang.ClassNotFoundException: No ClassLoaders found for: org.jr.inventory.ejb.validator.UniqueNameConsigneeValidator
| at org.apache.myfaces.shared_impl.util.StateUtils.getAsObject(StateUtils.java:314)
| at org.apache.myfaces.shared_impl.util.StateUtils.reconstruct(StateUtils.java:241)
| at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getComponentStateToRestore(HtmlResponseStateManager.java:221)
| at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreComponentState(JspStateManagerImpl.java:186)
| at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:287)
| at org.jboss.seam.jsf.SeamStateManager.restoreView(SeamStateManager.java:49)
| at org.ajax4jsf.framework.ajax.AjaxStateManager.restoreView(AjaxStateManager.java:83)
| at org.apache.myfaces.application.jsp.JspViewHandlerImpl.restoreView(JspViewHandlerImpl.java:255)
| at org.jboss.seam.jsf.SeamViewHandler.restoreView(SeamViewHandler.java:64)
| at com.sun.facelets.FaceletViewHandler.restoreView(FaceletViewHandler.java:310)
| at org.ajax4jsf.framework.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:116)
| at org.ajax4jsf.framework.ajax.AjaxViewHandler.restoreView(AjaxViewHandler.java:150)
| at org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:141)
| at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:66)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:127)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
| at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:60)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
| at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
| at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: java.lang.ClassNotFoundException: No ClassLoaders found for: org.jr.inventory.ejb.validator.UniqueNameConsigneeValidator
| at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:212)
| at org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:511)
| at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:405)
| at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
| at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
| at java.lang.Class.forName0(Native Method)
| at java.lang.Class.forName(Class.java:242)
| at java.io.ObjectInputStream.resolveProxyClass(ObjectInputStream.java:657)
| at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1500)
| at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1463)
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
| at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
| at java.util.ArrayList.readObject(ArrayList.java:591)
| at sun.reflect.GeneratedMethodAccessor338.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
| at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1908)
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1832)
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
| at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
| at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
| at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
| at java.util.ArrayList.readObject(ArrayList.java:591)
| at sun.reflect.GeneratedMethodAccessor338.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
| at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
| at java.util.ArrayList.readObject(ArrayList.java:591)
| at sun.reflect.GeneratedMethodAccessor338.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
| at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
| at java.util.ArrayList.readObject(ArrayList.java:591)
| at sun.reflect.GeneratedMethodAccessor338.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
| at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
| at java.util.ArrayList.readObject(ArrayList.java:591)
| at sun.reflect.GeneratedMethodAccessor338.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
| at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
| at java.util.ArrayList.readObject(ArrayList.java:591)
| at sun.reflect.GeneratedMethodAccessor338.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
| at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
| at java.util.ArrayList.readObject(ArrayList.java:591)
| 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 java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
| at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
| at org.apache.myfaces.shared_impl.util.StateUtils.getAsObject(StateUtils.java:305)
| ... 50 more
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4074176#4074176
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4074176
18Â years, 11Â months