I should have provided more context info on this.
This happens on page 2 of a long-running conversation. After user finished page 1, they
hit next to go to page two to select value from drop-down list. Boolean value select has
no problem.
On page 1, ApplicationEdit.page.xhtml is
| <?xml version="1.0" encoding="UTF-8"?>
| <page
xmlns="http://jboss.com/products/seam/pages"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xsi:schemaLocation="http://jboss.com/products/seam/pages
http://jboss.com/products/seam/pages-2.0.xsd"
| no-conversation-view-id="/home.xhtml"
| login-required="true"
| >
|
| <param name="applicationFrom"/>
| <param name="applicationId"
value="#{applicationHome.applicationId}"/>
|
| <begin-conversation join="true" flush-mode="manual"/>
|
| <action execute="#{applicationHome.wire}"/>
|
| <navigation from-action="#{applicationHome.save}">
| <end-conversation/>
| <redirect view-id="/Application.xhtml"/>
| </navigation>
|
| <navigation from-action="#{applicationHome.update}">
| <end-conversation/>
| <redirect view-id="/Application.xhtml"/>
| </navigation>
|
| <navigation from-action="#{applicationHome.remove}">
| <end-conversation/>
| <redirect view-id="/ApplicationList.xhtml"/>
| </navigation>
|
| </page>
|
On page 2, ApplicationEdit2.page.xhtml is
| <?xml version="1.0" encoding="UTF-8"?>
| <page
xmlns="http://jboss.com/products/seam/pages"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xsi:schemaLocation="http://jboss.com/products/seam/pages
http://jboss.com/products/seam/pages-2.0.xsd"
| no-conversation-view-id="/home.xhtml"
| login-required="true"
| >
|
| <param name="applicationFrom"/>
|
| <begin-conversation join="true" flush-mode="manual"/>
|
| <navigation from-action="#{applicationHome.save}">
| <end-conversation/>
| <redirect view-id="/Application.xhtml"/>
| </navigation>
|
| <navigation from-action="#{applicationHome.update}">
| <end-conversation/>
| <redirect view-id="/Application.xhtml"/>
| </navigation>
|
| <navigation from-action="#{applicationHome.remove}">
| <end-conversation/>
| <redirect view-id="/ApplicationList.xhtml"/>
| </navigation>
|
| </page>
|
| public class Limit {
| ...
| public void setValue(String values)
| {
| log.info("set value string " + values);
| super.setValues(values);
| value = values;
| }
| }
|
Here's the exception in the server.log. Notice how it did go into setValue(val) the
first time.
| ,225 INFO [Limit] set value string $100000
| ,256 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
| ,256 DEBUG [AbstractEntityManagerImpl] Transaction already joined
| ,256 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
| ,256 DEBUG [AbstractEntityManagerImpl] Transaction already joined
| ,256 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
| ,256 DEBUG [AbstractEntityManagerImpl] Transaction already joined
| ,256 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
| ,256 DEBUG [AbstractEntityManagerImpl] Transaction already joined
| ,256 DEBUG [jsf.SeamPhaseListener] committing transaction after phase:
UPDATE_MODEL_VALUES 4
| ,256 DEBUG [jsf.SeamPhaseListener] beginning transaction prior to phase:
RENDER_RESPONSE 6
| ,272 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
| ,272 DEBUG [org.hibernate.jdbc.JDBCContext] successfully registered Synchronization
| ,272 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
| ,272 DEBUG [AbstractEntityManagerImpl] Transaction already joined
| ,288 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
| ,288 DEBUG [AbstractEntityManagerImpl] Transaction already joined
| ,288 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
| ,288 DEBUG [AbstractEntityManagerImpl] Transaction already joined
| ,288 WARN [javax.enterprise.resource.webcontainer.jsf.renderkit] 'for'
attribute cannot be null
| ,319 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
| ,319 DEBUG [AbstractEntityManagerImpl] Transaction already joined
| ,319 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
| ,319 DEBUG [AbstractEntityManagerImpl] Transaction already joined
| ,319 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
| ,319 DEBUG [AbstractEntityManagerImpl] Transaction already joined
| ,319 DEBUG [AbstractEntityManagerImpl] Looking for a JTA transaction to join
| ,319 DEBUG [AbstractEntityManagerImpl] Transaction already joined
| ,350 INFO [javax.enterprise.resource.webcontainer.jsf.lifecycle] WARNING:
FacesMessage(s) have been enqueued, but may not have been displayed.
| sourceId=application:application_test_deductible[severity=(ERROR 2),
summary=(/policy/ApplicationEdit2.xhtml @66,139
value="#{applicationHome.instance.coverage.deductible.value}": Error writing
'value' on type Deductible), detail=(/policy/ApplicationEdit2.xhtml @66,139
value="#{applicationHome.instance.coverage.deductible.value}": Error writing
'value' on type Deductible)]
| sourceId=application:application_test_limit[severity=(ERROR 2),
summary=(/policy/ApplicationEdit2.xhtml @58,123
value="#{applicationHome.instance.coverage.limit.value}": Error writing
'value' on type Limit), detail=(/policy/ApplicationEdit2.xhtml @58,123
value="#{applicationHome.instance.coverage.limit.value}": Error writing
'value' on type Limit)]
| ,366 DEBUG [jsf.SeamPhaseListener] committing transaction after phase: RENDER_RESPONSE
6
| ,366 DEBUG [core.Manager] Storing conversation state: 3
| ,366 DEBUG [contexts.FacesLifecycle] After render response, destroying contexts
| ,366 DEBUG [contexts.FacesLifecycle] <<< End JSF request
|
It does the same thing for Deductible.setValue() that's why you see double ERROR in
there. From the log, it does seem to be something with transaction.
Am I doing it right with transaction join there? Let me try
conversation-required="true" to see.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4074459#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...