[JBoss Seam] - <f:facet> Facet Tag can only have one child UIComponent
by mrohad
I am getting a bizzare exception here , any idea?
my code:
| <ui:define name="body">
|
| <f:view>
| <h:form>
| <h2>Events List for - <h:outputText value="#{category.name}"/></h2>
|
| <t:dataTable var="catEventsvar"
| value="#{catEvents}"
| sortColumn="#{eventsAction.column}"
| sortAscending="#{eventsAction.ascending}"
| preserveDataModel="true"
| preserveSort="true"
| sortable="true">
| <t:column defaultSorted="true">
| <f:facet name="header">
| <h:outputText value="Description"/>
| </f:facet>
| <h:outputText value="#{#{catEventsvar.description}}" />
| </t:column>
| </t:dataTable>
|
|
| </h:form>
| </f:view>
|
|
|
|
|
|
| </ui:define>
|
stack trace:
| com.sun.facelets.tag.TagException: /event/categoryEvetns.jsp @35,36 <f:facet> Facet Tag can only have one child UIComponent
| at com.sun.facelets.tag.jsf.core.FacetHandler.apply(FacetHandler.java:75)
| at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
| at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:295)
| at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:165)
| at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:295)
| at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:165)
| at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
| at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:295)
| at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:165)
| at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:102)
| at com.sun.facelets.tag.ui.DefineHandler.apply(DefineHandler.java:58)
| at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:128)
| at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:306)
| at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:279)
| at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
| at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
| at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
| at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
| at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
| at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
| at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
| at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
| at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)
| at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
| at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
| at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:490)
| at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:533)
| at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:101)
| at org.jboss.seam.jsf.SeamViewHandler.renderView(SeamViewHandler.java:59)
| at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:30)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:65)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:226)
| 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.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.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)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3970522#3970522
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3970522
19 years, 7 months
[JBoss Seam] - Re: Problem: Custom validate methods in EJBs crash
by bfo81
Gavin, maybe we misunderstood each other. It's important to mention that the actionMethod above shall perform "complex" validation and then save if everything is alright.
| @Stateful
| @Scope(CONVERSATION)
| @Name("whateverEditor")
| @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
| public class WhateverEditorBean .... {
|
| ...
|
| @TransactionAttribute(TransactionAttributeType.REQUIRED)
| @End(ifOutcome={"backToListPage"})
| public String actionMethod() {
|
| if ( ! complexValidationOk() ) {
|
| ejbCtx.setRollbackOnly(); //no flushing at the end of the method
| addFacesMessage("Complex validation failed");
| return null; //redisplay editor page
| }
|
| //everything ok? then auto-flushing will be performed at the end of the method.
|
| return "backToListPage";
| }
|
| ...
| }
The flush-mode in the begin annotation is much better, yes... but for a non-beta, non-CVS, production environment I need another solution. And I'm really interested what you think about the approach above. For me it seemed to work perfectly.
btw: what does "hosed" mean? Sorry, I'm German, and the dictionary doesn't know that word *dooooh* ;).
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3970521#3970521
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3970521
19 years, 7 months
[JBoss Messaging] - import org.jboss.ejb3.mdb.ConnectionConfig??can't find the c
by justin033
My JAS is: jboss-4.0.4.GA been installing by jboss-4.0.4.GA-Patch1-installer.jar..
but i wrote a ejb3 message driven bean ..used the annotation:
@ConnectionConfig(destinationType = javax.jms.Queue.class,
destinationJndiName = "queue/ejb3/hello",
durable = true, subscriptionId = "helloMsgBean")
then can't find the class: org.jboss.ejb3.mdb.ConnectionConfig in the jboss-ejb3.jar????????
what's wrong ? thx!!!!
Code:
package com.popgo.mdb;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.ejb.MessageDriven;
import org.jboss.ejb3.mdb.ConnectionConfig;
@MessageDriven
@ConnectionConfig(destinationType = javax.jms.Queue.class,
destinationJndiName = "queue/ejb3/hello",
durable = true, subscriptionId = "helloMsgBean")
public class HelloMsgBean implements MessageListener {
public void onMessage(Message msg) {
// TODO Auto-generated method stub
System.out.println("Hello popgo!");
}
}
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3970517#3970517
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3970517
19 years, 7 months
[EJB 3.0] - Persistence Manager in the JNDI
by mzeijen
At my company we are relaunching our website and we will be using portlets (together with a CMS) to implement the dynamic parts. I am searching for a way to get a real flexible deployment. I mean by this that I want to seperate the three layers, db-layer (entities), business layer (ejbs) and the view layer (multiple portlets implemented with Seam).
It would look something like this:
Code:
dblayer.ear
| entities.jar
|
| businesslayer.ear
| businesslayer.jar
|
| portlet1.ear
| seamComponents.jar
| portlet1.war
|
| portlet2.ear
| seamComponents.jar
| portlet2.war
The portlets all use the same business layer and the same entity layer.
That is also wy want this to be as flexible as possible. I don't want to deploy all my portlets again if I change something in my businesslayer.
It is possible to put an EntityManager in the JNDI by setting some properties in the persistence.xml. I wanted to see if this really worked so I made a little test setup (without the seperate businesslayer):
Code:
| TestEnt.ear
| TestEntEJB.jar < contains the entities and the persistence.xml
|
| Test.ear
| TestEJB.jar < contains the seam component HelloWorld (HelloWorldAction.class)
|
HelloWorldAction class:
Code:
@Stateful
| @Name("HelloWorld")
| @Scope(ScopeType.CONVERSATION)
| public class HelloWorldAction implements HelloWorld {
|
| @PersistenceContext(unitName="userDatabase", type=EXTENDED)
| private EntityManager em;
|
| @SuppressWarnings("unchecked")
| public String someAction() {
|
| List<User> users = em.createQuery("from User u order by u.username").getResultList();
|
| return null;
| }
|
| @Remove @Destroy
| public void destroy() {}
| }
|
The first time I manually deployed the testEnt.ear first and then I deployed the test.ear. To my joy everything worked. The entityManager got injected into the HelloWorldAction class and I could retrieve the users using the query.
But then I stumpled upon some problems:
1. If I redeploy the testEnt.ear the following exception gets thrown:
Code:
[ServiceController] Problem starting service jboss.j2ee:ear=Test.ear,jar=TestEJB.jar,name=HelloWorld
| Action,service=EJB3
| javax.naming.NamingException: Could not bind user transaction for ejb name HelloWorldAction into JND
| I under jndiName: /UserTransaction [Root exception is javax.naming.NameAlreadyBoundException]
| at org.jboss.ejb3.EJBContainer.resolveInjectors(EJBContainer.java:631)
| at org.jboss.ejb3.EJBContainer.initializePool(EJBContainer.java:576)
| at org.jboss.ejb3.EJBContainer.start(EJBContainer.java:507)
| at org.jboss.ejb3.SessionContainer.start(SessionContainer.java:82)
| at org.jboss.ejb3.stateful.StatefulContainer.start(StatefulContainer.java:73)
| 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 org.jboss.ejb3.ServiceDelegateWrapper.startService(ServiceDelegateWrapper.java:99)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
| 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 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 org.jboss.system.ServiceController.start(ServiceController.java:435)
| at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| 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 $Proxy182.start(Unknown Source)
| at org.jboss.ejb3.JmxKernelAbstraction.install(JmxKernelAbstraction.java:82)
| at org.jboss.ejb3.Ejb3Deployment.startPersistenceUnits(Ejb3Deployment.java:626)
| at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:475)
| at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:139)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
| at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
| 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 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.GeneratedMethodAccessor7.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| 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 $Proxy90.start(Unknown Source)
| at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:449)
| 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 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.ja
| va:142)
| at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97)
| at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:2
| 38)
| at org.jboss.ws.server.WebServiceDeployer.start(WebServiceDeployer.java:117)
| at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerIntercepto
| rSupport.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 $Proxy91.start(Unknown Source)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1007)
| at org.jboss.deployment.MainDeployer.start(MainDeployer.java:997)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:808)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:771)
| at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| 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.ja
| va: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 $Proxy6.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(AbstractDeploymentSc
| anner.java:263)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScan
| ner.java:274)
| at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScann
| er.java:225)
| Caused by: javax.naming.NameAlreadyBoundException
| at org.jnp.server.NamingServer.bind(NamingServer.java:144)
| at org.jnp.interfaces.NamingContext.bind(NamingContext.java:566)
| at org.jnp.interfaces.NamingContext.bind(NamingContext.java:531)
| at org.jboss.util.naming.Util.bind(Util.java:102)
| at org.jboss.util.naming.Util.bind(Util.java:89)
| at org.jboss.ejb3.EJBContainer.resolveInjectors(EJBContainer.java:628)
| ... 104 more
The second problem that I have is when I restart the server. The
test.ejb gets initialized before the testEnt.ear and then the EntityManager isn't in the JNDI yet. This results in trouble offcourse:
Code:
14:24:56,919 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
|
| --- MBeans waiting for other MBeans ---
| ObjectName: jboss.j2ee:ear=Test.ear,jar=TestEJB.jar,name=HelloWorldAction,service=EJB3
| State: NOTYETINSTALLED
| I Depend On:
| persistence.units:unitName=userDatabase
|
| --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
| ObjectName: persistence.units:unitName=userDatabase
| State: NOTYETINSTALLED
| Depends On Me:
| jboss.j2ee:ear=Test.ear,jar=TestEJB.jar,name=HelloWorldAction,service=EJB3
|
|
Does someone know a way to solve both problems?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3970512#3970512
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3970512
19 years, 7 months