seam-gen generates non-working project
by Ian Darwin
Summary: install jboss-4.2.0.GA; install seam-2.0.0.BETA1.
Run seam setup and seam new-project.
Resulting project can't see the "authenticator"; when you try to Login,
you get "login failed" on the page, and a huge stacktrace that starts
off like this:
INFO: Added Library from:
jar:file:/usr/local/jboss-4.2.0.GA/server/default/deploy/seam42.ear/seam42.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jsf-core.taglib.xml
16:10:07,875 ERROR [STDERR] Aug 24, 2007 4:10:07 PM
com.sun.facelets.compiler.TagLibraryConfig loadImplicit
INFO: Added Library from:
jar:file:/usr/local/jboss-4.2.0.GA/server/default/deploy/seam42.ear/seam42.war/WEB-INF/lib/jsf-facelets.jar!/META-INF/jstl-core.taglib.xml
16:10:21,036 ERROR [SeamLoginModule] Error invoking login method
javax.el.PropertyNotFoundException: Target Unreachable, identifier
'authenticator' resolved to null
at org.jboss.el.parser.AstValue.getTarget(AstValue.java:38)
at org.jboss.el.parser.AstValue.invoke(AstValue.java:95)
at
org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
at org.jboss.seam.core.Expressions$2.invoke(Expressions.java:174)
at
org.jboss.seam.security.jaas.SeamLoginModule.login(SeamLoginModule.java:108)
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)
....
18Â years, 8Â months
[JBoss Seam] - Can action called from button avoid committing transaction?
by tynor
Seam 1.2.1-GA, JBoss AS 4.2.1, Hibernate 3.2.5ga
I wish to put a button on a form that adds an item to a list being displayed/edited in a dataTable. The new item is not completely initialized -- until the user types in some values in the table columns, it's not ready for persisting.
On my MyHome class, I have a function
| public void addItem() {
| getInstance().myList().add(new SomeEntity());
| }
|
The problem is that after calling addItem, something is deciding to commit the new SomeEntity to the database. I don't want it to try to persist until I explicitly call em.persist() or em.update(). How can I stop it from persisting the object?
I've tried several types of button markup:
| <s:button action="#{myHome.addItem}" ...
| <h:command action="#{myHome.addItem}" ...
| <h:commandButton immediate="true"action="#{myHome.addItem}" ...
|
... and no matter what I do, hibernate is deciding to commit a transaction when I call through the button. Help!
The stack in case that helps:
org.hibernate.PropertyValueException: not-null property references a null or transient value: my.package.SomeEntity.name
| at org.hibernate.engine.Nullability.checkNullability(Nullability.java:72)
| at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:290)
| at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
| at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:107)
| at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:49)
| at org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131)
| at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87)
| at org.hibernate.impl.SessionImpl.firePersistOnFlush(SessionImpl.java:644)
| at org.hibernate.impl.SessionImpl.persistOnFlush(SessionImpl.java:636)
| at org.hibernate.engine.CascadingAction$9.cascade(CascadingAction.java:323)
| at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
| at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
| at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
| at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:296)
| at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)
| at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)
| at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
| at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
| at org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:456)
| at org.hibernate.event.def.DefaultPersistEventListener.entityIsPersistent(DefaultPersistEventListener.java:111)
| at org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:84)
| at org.hibernate.impl.SessionImpl.firePersistOnFlush(SessionImpl.java:644)
| at org.hibernate.impl.SessionImpl.persistOnFlush(SessionImpl.java:636)
| at org.hibernate.engine.CascadingAction$9.cascade(CascadingAction.java:323)
| at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
| at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
| at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
| at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:296)
| at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)
| at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)
| at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
| at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
| at org.hibernate.event.def.AbstractFlushingEventListener.cascadeOnFlush(AbstractFlushingEventListener.java:131)
| at org.hibernate.event.def.AbstractFlushingEventListener.prepareEntityFlushes(AbstractFlushingEventListener.java:122)
| at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:65)
| at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
| at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
| at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
| at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:516)
| at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:114)
| at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:247)
| at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:86)
| at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:177)
| at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1382)
| at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135)
| at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87)
| at org.jboss.tm.usertx.client.ServerVMClientUserTransaction.commit(ServerVMClientUserTransaction.java:140)
| at org.jboss.seam.jsf.AbstractSeamPhaseListener.commitOrRollback(AbstractSeamPhaseListener.java:324)
| at org.jboss.seam.jsf.TransactionalSeamPhaseListener.handleTransactionsAfterPageActions(TransactionalSeamPhaseListener.java:52)
| at org.jboss.seam.jsf.AbstractSeamPhaseListener.enterPage(AbstractSeamPhaseListener.java:285)
| at org.jboss.seam.jsf.AbstractSeamPhaseListener.beforeRender(AbstractSeamPhaseListener.java:214)
| at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:56)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:222)
| at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| 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:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| 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:235)
| 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:230)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
| at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
| at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
| at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
| at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
| at java.lang.Thread.run(Thread.java:595)
|
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4077928#4077928
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4077928
18Â years, 8Â months
[JBoss Seam] - Re: jboss-ejb3-all.jar StatelessRemoteProxy serialVersionUID
by nynymike
My impression is that jboss-ejb3-all.jar is included in the jboss-embeddbable, not the JBoss AS.
When I take out the jboss-ejb2-all.jar, and replace with the ejb files I see on the AS (ejb3-persistence.jar, jboss-annotations-ejb3.jar, jboss-ejb3-client.jar, jboss-ejb3x.jar) I get an error:
| javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]
| at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
| at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
| at javax.naming.InitialContext.init(InitialContext.java:223)
| at javax.naming.InitialContext.<init>(InitialContext.java:197)
| at us.ziacom.voicemail.test.TestVmManagerSessionBean.testLookupAccount(TestVmManagerSessionBean.java:20)
| Caused by: java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory
| at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
| at java.security.AccessController.doPrivileged(Native Method)
| at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
| at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
| at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
| 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:247)
| at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)
| at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
| ... 26 more
|
This is my program. Its pretty simple...
| import java.util.Properties;
|
| import javax.naming.Context;
| import javax.naming.InitialContext;
| import javax.naming.NamingException;
| import javax.rmi.PortableRemoteObject;
|
| import org.testng.annotations.Test;
|
| import us.ziacom.action.VmManagerSessionBean;
| import us.ziacom.action.interfaces.IVmManagerRemote;
| import us.ziacom.vm.model.Account;
|
| public class TestVmManagerSessionBean {
|
| @Test(groups = { "sessionBean" })
| public void testLookupAccount() throws NamingException {
| Context ctx = new InitialContext(getInitialContextProperties());
| System.out.println("JNDI Name: " + VmManagerSessionBean.RemoteJNDIName);
| Object ref = ctx.lookup("voicemail/" + VmManagerSessionBean.RemoteJNDIName);
| IVmManagerRemote vmMgrRemote = (IVmManagerRemote) PortableRemoteObject.narrow(ref, IVmManagerRemote.class);
| Account acct = vmMgrRemote.lookupAccount("6467230651");
| System.out.println(acct.getFullname());
| }
|
| private static Properties getInitialContextProperties(){
| Properties props = new Properties();
| // props.put(Context.SECURITY_PRINCIPAL, "user");
| // props.put(Context.SECURITY_CREDENTIALS, "password");
| props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
| props.put(Context.PROVIDER_URL, "jnp://localhost:1099");
| props.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
| return props;
| }
| }
|
Do I need to change org.jnp.interfaces.NamingContextFactory to org.jboss.naming.NamingContextFactory?
I am new to RMI... maybe that's why I am so confused...
thanks in advance,
- Mike
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4077927#4077927
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4077927
18Â years, 8Â months