Good idea, I tried it but got
| 21:11:46,928 ERROR [STDERR] Exception in thread "Thread-21"
| 21:11:46,928 ERROR [STDERR] java.lang.IllegalStateException: No application context
active
| 21:11:46,928 ERROR [STDERR] at org.jboss.seam.Component.forName(Component.java:1690)
| 21:11:46,928 ERROR [STDERR] at
org.jboss.seam.Component.getInstance(Component.java:1740)
| 21:11:46,928 ERROR [STDERR] at
org.jboss.seam.Component.getInstance(Component.java:1723)
| 21:11:46,928 ERROR [STDERR] at model.EXAccessPoint.flushToDb(EXAccessPoint.java:217)
| 21:11:46,928 ERROR [STDERR] at model.EXAccessPoint.access$0(EXAccessPoint.java:207)
| 21:11:46,928 ERROR [STDERR] at
model.EXAccessPoint$InvalidateList.run(EXAccessPoint.java:257)
Then I noticed that my em has ended up in the conversation scope
| 21:10:18,545 INFO [Component] Component: em, scope: CONVERSATION, type: JAVA_BEAN,
class: org.jboss.seam.persistence.ManagedPersistenceContext
|
My components.xml looks like
<core:init debug="true"
jndi-pattern="isis-prototype/#{ejbName}/local"
transaction-management-enabled="true" />
|
|
| <security:identity
authenticate-method="#{authenticator.authenticate}"/>
|
| <web:multipart-filter create-temp-files="true"
| max-request-size="1000000"
| url-pattern="*.seam"/>
|
| <web:context-filter url-pattern="/content/*"/>
|
| <persistence:managed-persistence-context name="em"
auto-create="true"
|
persistence-unit-jndi-name="java:/viewEntityManagerFactory"/>
and my persistence.xml looks like
| <persistence-unit name="viewDatabase">
| <provider>org.hibernate.ejb.HibernatePersistence</provider>
| <jta-data-source>java:/viewDatasource</jta-data-source>
| <properties>
| <property name="hibernate.hbm2ddl.auto"
value="create-drop"/>
| <property name="hibernate.show_sql"
value="false"/>
| <!-- These are the default for JBoss EJB3, but not for HEM: -->
| <property name="hibernate.cache.provider_class"
value="org.hibernate.cache.HashtableCacheProvider"/>
| <property name="hibernate.transaction.manager_lookup_class"
value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
| <property name="jboss.entity.manager.factory.jndi.name"
value="java:/viewEntityManagerFactory"/>
| </properties>
| </persistence-unit>
Any ideas?
I can't remember how I did this, but I did read the seam manual on transactions in
conversations and (in another class unrelated to this) I followed the approach given,
which was to set the flush mode to manual to get the atomic transactions across a
conversation on a @Begin, so...
| @Scope(ScopeType.CONVERSATION)
| public class MaintainProfileAction implements Serializable {
| ...
| @Begin(join=true, flushMode=FlushModeType.MANUAL)
| public void find() {
| ...
|
has this forever put the em in conversation scope I wonder ?
Any ideas? another persistence unit?
Troy
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4079889#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...