[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-3263) jboss-embedded-all-beta3.jar in seam's maven repo is JDK6 specific
by Jay Balunas (JIRA)
jboss-embedded-all-beta3.jar in seam's maven repo is JDK6 specific
------------------------------------------------------------------
Key: JBSEAM-3263
URL: https://jira.jboss.org/jira/browse/JBSEAM-3263
Project: Seam
Issue Type: Bug
Components: Build, Test Harness
Affects Versions: 2.1.0.A1, 2.0.3.CR1
Reporter: Jay Balunas
Priority: Blocker
Fix For: 2.0.3.CR2, 2.1.0.BETA1
The jboss-embedded-all-beta3.jar located in the "org/jboss/seam/embedded/jboss-embedded-all/beta3" repository directory is specific to JDK6. Earlier versions were specific to JDK5, but would execute with JDK6. This change appears to have been made on august 8th and is likely related to JBoss 4.2.3 dependency alignment.
First noticed because most hudson builds were skipping a large # of their tests. Builds that do not clear out their repo were not showing this issue because they were still using the older version, and of coarse the JDK6 builds were fine. This issue can be reproduced locally by either cleaning your repo, or pointing it to a new location then executing "ant testall" using JDK5.
This may be complicated or related to the jboss 4.2.3 jar upgrade because jboss 4.2.3 is distributed with separate binaries for JDK 5 and JDK 6. This is because at compile time of some of the components JDK version specific code is included, or excluded. From what I can see there is not JDK specific entries in the JBoss 4.2.3 maven repository locations (might be a separate issue for the AS team). Hopefully we can revert to a JDK5 specific version of the embedded jar, although it will need to be tested with JDK6, and the 4.2.3 jars.
The exception below is an example of what was seen. As you can see the resource adapter has the JDK6 dependent package and calls an a JDK 6 specific class.
[testng] Caused by: org.jboss.resource.JBossResourceException: Unchecked throwable in ManagedConnection.getConnection() cl=org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@921a90[state=NORMAL mc=org.jboss.resource.adapter.jdbc.local.LocalManagedConnection@dc5733 handles=0 lastUse=1218664283785 permit=true trackByTx=true mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$PoolBySubject@1e0f790 context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@9d1714 xaResource=org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource@11fc6b2 txSync=TxSync9884354{tx=TransactionImple < ac, BasicAction: a1012c7:eacd:48a35756:6 status: ActionStatus.RUNNING > wasTrackByTx=true enlisted=true}]; - nested throwable: (java.lang.reflect.UndeclaredThrowableException)
[testng] at org.jboss.resource.JBossResourceException.rethrowAsResourceException(JBossResourceException.java:61)
[testng] at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:408)
[testng] at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:838)
[testng] at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
[testng] ... 105 more
[testng] Caused by: java.lang.reflect.UndeclaredThrowableException
[testng] at org.jboss.resource.JBossResourceException.process(JBossResourceException.java:204)
[testng] at org.jboss.resource.JBossResourceException.<init>(JBossResourceException.java:111)
[testng] ... 109 more
[testng] Caused by: java.lang.NoClassDefFoundError: java/sql/SQLClientInfoException
[testng] at org.jboss.resource.adapter.jdbc.jdk6.WrappedConnectionFactoryJDK6.createWrappedConnection(WrappedConnectionFactoryJDK6.java:44)
[testng] at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.getConnection(BaseWrapperManagedConnection.java:244)
[testng] at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:403)
[testng] ... 107 more
[testng]
[testng] ===============================================
[testng] Lacewiki - All
[testng] Total tests run: 123, Failures: 0, Skips: 123
[testng] Configuration Failures: 1, Skips: 457
[testng] ===============================================
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 8 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-3260) Seam-gen generates @In for referenced EntityHomes twice in some cases
by Markus Neubrand (JIRA)
Seam-gen generates @In for referenced EntityHomes twice in some cases
---------------------------------------------------------------------
Key: JBSEAM-3260
URL: https://jira.jboss.org/jira/browse/JBSEAM-3260
Project: Seam
Issue Type: Patch
Components: Tools
Affects Versions: 2.0.2.SP1
Reporter: Markus Neubrand
Fix For: 2.0.3.CR2
If an reverse engineered entity has two ManyToOne relations to the same entity the following code
in <seam-home>/seam-gen/src/EntityHome.java.ftl generates the @In for the referenced EntityHome twice:
<#foreach property in pojo.allPropertiesIterator>
<#if c2h.isManyToOne(property)>
<#assign parentPojo = c2j.getPOJOClass(cfg.getClassMapping(property.value.referencedEntityName))>
<#assign parentHomeName = util.lower(parentPojo.shortName) + "Home">
@${pojo.importType("org.jboss.seam.annotations.In")}(create=true)
${parentPojo.shortName}Home ${parentHomeName};
</#if>
</#foreach>
To fix this issue the template must implement a check to determine if the @In was already generated for the given
parentPojo.shortName. I'm not very familiar with Freemarker so i think the patch below is a very ugly solution but
at least it works for me:
<#assign usedParentPojo = "">
<#foreach property in pojo.allPropertiesIterator>
<#if c2h.isManyToOne(property)>
<#assign parentPojo = c2j.getPOJOClass(cfg.getClassMapping(property.value.referencedEntityName))>
<#if !usedParentPojo?contains("@" + parentPojo.shortName + "@")>
<#assign parentHomeName = util.lower(parentPojo.shortName) + "Home">
@${pojo.importType("org.jboss.seam.annotations.In")}(create=true)
${parentPojo.shortName}Home ${parentHomeName};
</#if>
<#assign usedParentPojo = usedParentPojo + "@" + parentPojo.shortName + "@">
</#if>
</#foreach>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 8 months
[jbossseam-issues] [JBoss JIRA] Created: (JBSEAM-3257) Wicket example conversation handling failing
by Jay Balunas (JIRA)
Wicket example conversation handling failing
---------------------------------------------
Key: JBSEAM-3257
URL: https://jira.jboss.org/jira/browse/JBSEAM-3257
Project: Seam
Issue Type: Bug
Components: Examples
Affects Versions: 2.1.0.BETA1
Environment: fedora 8
JDK6u7
Reporter: Jay Balunas
Assignee: Pete Muir
Priority: Critical
Fix For: 2.1.0.BETA1
Deployed the wicket example to JBoss AS 4.2.2 (and 4.2.3). I was checking conversation handling so I was booking a hotel, and returned to search page using the link at the top of the page. Then I selected a different hotel, and saw a wicket error page and the exception below in the logs.
This is happening in 2.1.0 snapshot as of today - I have not confirmed if it is in 2.1.0.A1.
13:48:39,919 ERROR [RequestCycle] Method onLinkClicked of interface org.apache.wicket.markup.html.link.ILinkListener targeted at component [MarkupContainer [Component id = viewHotel, page = org.jboss.seam.example.wicket.Main, path = 7:body:hotels:hotel:7:viewHotel.Main$3$1, isVisible = true, isVersioned = true]] threw an exception
org.apache.wicket.WicketRuntimeException: Method onLinkClicked of interface org.apache.wicket.markup.html.link.ILinkListener targeted at component [MarkupContainer [Component id = viewHotel, page = org.jboss.seam.example.wicket.Main, path = 7:body:hotels:hotel:7:viewHotel.Main$3$1, isVisible = true, isVersioned = true]] threw an exception
at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:194)
at org.apache.wicket.request.target.component.listener.ListenerInterfaceRequestTarget.processEvents(ListenerInterfaceRequestTarget.java:73)
at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91)
at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1166)
at org.apache.wicket.RequestCycle.step(RequestCycle.java:1243)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1331)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:363)
at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
at org.jboss.seam.web.WicketFilter$1.process(WicketFilter.java:57)
at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)
at org.jboss.seam.web.WicketFilter.doFilter(WicketFilter.java:52)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
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.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
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:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.reflect.InvocationTargetException
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.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:183)
... 31 more
Caused by: java.lang.IllegalStateException: begin method invoked from a long-running conversation, try using @Begin(join=true) on method: onClick
at org.jboss.seam.wicket.ioc.ConversationInterceptor.beforeInvoke(ConversationInterceptor.java:32)
at org.jboss.seam.wicket.ioc.WicketHandler.doBeforeInvoke(WicketHandler.java:66)
at org.jboss.seam.wicket.ioc.WicketHandler.beforeInvoke(WicketHandler.java:41)
at org.jboss.seam.example.wicket.Main$3$1.onClick(Main.java)
at org.apache.wicket.markup.html.link.Link.onLinkClicked(Link.java:214)
... 36 more
13:48:39,994 ERROR [Objects] Error serializing object class org.jboss.seam.example.wicket.Main [object=[Page class = org.jboss.seam.example.wicket.Main, id = 7, version = 0]]
org.apache.wicket.util.io.SerializableChecker$WicketNotSerializableException: Unable to serialize class: java.lang.reflect.Method
Field hierarchy is:
7 [class=org.jboss.seam.example.wicket.Main, path=7]
private org.jboss.seam.example.wicket.action.BookingList org.jboss.seam.example.wicket.Main.bookingList [class=org.javassist.tmp.java.lang.Object_$$_javassist_3]
private java.util.List org.jboss.seam.intercept.RootInterceptor.userInterceptors [class=java.util.ArrayList]
private final java.util.concurrent.locks.ReentrantLock$Sync java.util.concurrent.locks.ReentrantLock.sync[write:2][write:4][write:5] [class=org.jboss.seam.security.SecurityInterceptor]
private java.util.Map org.jboss.seam.security.SecurityInterceptor.restrictions [class=java.util.HashMap]
private java.util.Map org.jboss.seam.security.SecurityInterceptor.restrictions[write:1] [class=java.lang.reflect.Method] <----- field that is not serializable
at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:342)
at org.apache.wicket.util.io.SerializableChecker.access$500(SerializableChecker.java:63)
at org.apache.wicket.util.io.SerializableChecker$1InterceptingObjectOutputStream.replaceObject(SerializableChecker.java:489)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1116)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.HashMap.writeObject(HashMap.java:1000)
at sun.reflect.GeneratedMethodAccessor553.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:496)
at org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:610)
at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:533)
at org.apache.wicket.util.io.SerializableChecker.access$500(SerializableChecker.java:63)
at org.apache.wicket.util.io.SerializableChecker$1InterceptingObjectOutputStream.replaceObject(SerializableChecker.java:489)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1116)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.ArrayList.writeObject(ArrayList.java:570)
at sun.reflect.GeneratedMethodAccessor552.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:496)
at org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:610)
at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:533)
at org.apache.wicket.util.io.SerializableChecker.checkFields(SerializableChecker.java:610)
at org.apache.wicket.util.io.SerializableChecker.check(SerializableChecker.java:533)
at org.apache.wicket.util.io.SerializableChecker.writeObjectOverride(SerializableChecker.java:678)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
at org.apache.wicket.util.io.IObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:125)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
at org.apache.wicket.util.lang.Objects.objectToByteArray(Objects.java:1090)
at org.apache.wicket.protocol.http.pagestore.AbstractPageStore.serializePage(AbstractPageStore.java:197)
at org.apache.wicket.protocol.http.pagestore.DiskPageStore.storePage(DiskPageStore.java:810)
at org.apache.wicket.protocol.http.SecondLevelCacheSessionStore$SecondLevelCachePageMap.put(SecondLevelCacheSessionStore.java:332)
at org.apache.wicket.Session.requestDetached(Session.java:1370)
at org.apache.wicket.RequestCycle.detach(RequestCycle.java:1091)
at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1349)
at org.apache.wicket.RequestCycle.request(RequestCycle.java:493)
at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:363)
at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:194)
at org.jboss.seam.web.WicketFilter$1.process(WicketFilter.java:57)
at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53)
at org.jboss.seam.web.WicketFilter.doFilter(WicketFilter.java:52)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
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.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
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:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.NotSerializableException: java.lang.reflect.Method
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.HashMap.writeObject(HashMap.java:1000)
at sun.reflect.GeneratedMethodAccessor553.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at java.util.ArrayList.writeObject(ArrayList.java:570)
at sun.reflect.GeneratedMethodAccessor552.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
at org.apache.wicket.util.io.IObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:117)
... 34 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 8 months