JTA ja/nein & wie (JBoss & Hibernate & Transakti

Status
Nicht offen für weitere Antworten.

Gumble

Bekanntes Mitglied
Nachdem Sandboxbetrieb und Testcases alle gingen und es im JBoss Fehler hagelt, hab ich durch Foruggeln herausgefunden, dass es Probleme mit den Transaktionen gibt. ("You cannot commit during a managed transaction jboss hibernate").
1. Frage:
Muss ich unbedingt JTA verwenden? Wie umgeh ich das?
2. Frage:
Wie verwende ich JTA? Ich habe keine EJB-Beans! Angeblich sollte HibernateContext.getSession() gehen, doch gibts die Klasse nicht in dem hibernate3.jar. Per Hand komm ich auch nicht ran:
Code:
InitialContext ic = new InitialContext();
Object o = ic.lookup("java:/hibernate/SessionFactory");
SessionFactory sf = (SessionFactory)o;
Session session = sf.openSession();
Da "java:/hibernate/SessionFactory" bei mir nicht existiert. In der JNDI-View find ich auch nix aehnliches.
- wie setzt man explizit die HibernateFactory die unter JTA-Trx Kontrolle ist?

TIA!

(JBoss AS 4.0.3SP1 & MySql5 (InnoDB) & Hibernate 3.1.2)
 

Gumble

Bekanntes Mitglied
Okay, mal bisschen rumgespielt:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<service>
	<mbean code="org.hibernate.jmx.HibernateService" name="jboss.jca:service=HibernateFactory,name=HibernateFactory">
		<depends>jboss.jca:service=RARDeployer</depends>
		<depends>jboss.jca:service=LocalTxCM,name=MySqlDS</depends>
		<depends>jboss.jca:name=MySqlDS,service=DataSourceBinding</depends>
		<attribute name="JndiName">java:/hibernate/HibernateFactory</attribute>
		<attribute name="Datasource">java:/MySqlDS</attribute>
		<attribute name="Dialect">org.hibernate.dialect.MySQLInnoDBDialect</attribute>
		<attribute name="TransactionStrategy">org.hibernate.transaction.JTATransactionFactory</attribute>
		<attribute name="TransactionManagerLookupStrategy">org.hibernate.transaction.JBossTransactionManagerLookup</attribute>
		<attribute name="ShowSqlEnabled">false</attribute>
		<attribute name="UserTransactionName">UserTransaction</attribute>
	</mbean>
</service>
Die Docs (clickMe) sind leider nicht mehr ganz aktuell, so dass die Package-Angaben und das ShowSql-Attribute geaendert werden mussten. Reichen die beiden Attributseinstellungen "TransactionStrategy" und "TransactionManagerLookupStrategy" aus, damit JTA aktiv ist?
Irgendwie gibts immer noch Probleme, aber darum kuemmer ich mich erst morgen :autsch:
 

busch-d

Mitglied
ja, das sollte eigentlich reichen. jetzt das ganze in ein sar archiv verpacken, mit den libs im root verzeichniss und der jboss-service.xml im META-INF verzeichnis. und deployen
 

Gumble

Bekanntes Mitglied
so, zurueck zum Thema. Es sind noch so viele Fragen offen (in meinen Beitraegen zuvor), will aber noch mehr hinzufuegen :autsch:

Annahme:
Sobald ich eine Datenbank als Datasource "xxx-ds.xml" konfiguriere, schaltet sich das Connection-Pooling von JBoss ein, falls ich in meiner Hibernate-Anwendung auf diese in der cfg.xml verweise [<property name="hibernate.connection.datasource">java:/MySqlDS</property>]?

Kann das jemand bestaetigen?
Ich vermute dies, weil c3p0 nur dann anspringt, wenn im cfg.xml direkt auf die DB [<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/bla</property>] verwiesen wird.

c3p0 kuemmert sich ja ums Connection und Statement-Pooling - in wie weit hat dass nun jetzt auch was mit dem JBoss-Transaktion Management zu tun? Gar nix, oder?

Wozu brauch ich eigentlich den HibernateService, also die HibernateFactory im JNDI? Ich hol mir doch immer die SessionFactory ueber configuration.buildSessionFactory().

Edit:
ach man, alles doof:
  • 11:27:09,324 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: null
    11:27:09,324 ERROR [JDBCExceptionReporter] com.mchange.v2.c3p0.PoolBackedDataSource@158fd70 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@1070723 [ acquireIncrement -> 1, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1070723, idleConnectionTestPeriod -> 0, initialPoolSize -> 1, maxIdleTime -> 0, maxPoolSize -> 8, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 1, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@19ac2e3 [ description -> null, driverClass -> null, factoryClassLocation -> null, identityToken -> 19ac2e3, jdbcUrl -> jdbc:mysql://localhost:3306/jbpm, properties -> {autoReconnect=true, user=******, password=******, dialect=org.hibernate.dialect.MySQLInnoDBDialect, autoReconnectForPools=true} ], preferredTestQuery -> null, propertyCycle -> 300, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, usesTraditionalReflectiveProxies -> false ], factoryClassLocation -> null, identityToken -> 158fd70, numHelperThreads -> 3 ] has been closed() -- you can no longer use it.
    ...
    Caused by: java.sql.SQLException: com.mchange.v2.c3p0.PoolBackedDataSource@158fd70 [ das von oben ]
    at com.mchange.v2.c3p0.PoolBackedDataSource.assertCpds(PoolBackedDataSource.java:234)
    at com.mchange.v2.c3p0.PoolBackedDataSource.getPoolManager(PoolBackedDataSource.java:246)
    at com.mchange.v2.c3p0.PoolBackedDataSource.getConnection(PoolBackedDataSource.java:94)
    at org.hibernate.connection.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:35)
    at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:360)

Hab 1 MySql Datenbank, 2 unterschiedliche (=cfg.xml) HibernateSession mit der selben Konfiguration (c3p0, no TransactionManager): der eine Datensatz geht, der andere nicht :(

Nur Schererei :( Hab das Gefuehl ich stocher im dunklen Sumpf umher. Hab keine Ahnung was ich da eigentlich rumkonfigurier - die Docu ist ja mies bzw finde ich nicht.
Hab nun c3p0 rausgeschmissen, keine Pooling also; beide Datensession greifen nun direkt auf die DB zu, JTA aktiviert:
Mach ich nun ein commit (geht bei beiden Sessions nicht) dann kommt dies
  • 11:56:19,386 INFO [ConnectionManager] forcing batcher resource cleanup on transaction completion; forgot to close ScrollableResults/Iterator?
was dazu fuehrt dass keine Aenderungen in der DB-Uebernommen werden...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Instanzvariable in Servlet Ja/Nein? Allgemeines EE 3
Y EJBs und Callbacks (Jboss 7.1) Allgemeines EE 1
J Mit @Schedule annotierte Methode wird nach einer Weile nicht mehr ausgeführt (JBoss AS 7.2) Allgemeines EE 0
P eMail versenden mit JBOSS Allgemeines EE 2
N WS-Security Beispiel mit JBOSS/Wildfly gesucht Allgemeines EE 2
I JBoss unheimlich langsam nach mehreren Deploys Allgemeines EE 2
BuckRogers Jboss 7** und j2ee 1.7 Allgemeines EE 1
D Jboss löscht Archiv nicht beim Redeployed Allgemeines EE 3
J paar Fragen zu JSF2/JEE6 Anwendung mit JBoss 7.1.1 Allgemeines EE 6
D Jboss lernen mit Praxisbeispiel Allgemeines EE 4
Y JBoss 7 - wie kann ich das logging meiner Applikation am JBoss konfigurieren Allgemeines EE 3
O JBoss und die Einbindung eines externen JAR Allgemeines EE 10
E Generelle Frage zu CDI mit JBoss AS 7.1.1 and Jave EE 6 Allgemeines EE 4
B JBoss Libs vs. JBoss Libary Allgemeines EE 12
E CDI mit verschiedenen Jars in EAR klappt auf Jboss AS 7.1.1.Final nicht Allgemeines EE 8
S Webapp in JBoss absichern nur in bestimmten Umgebungen? Allgemeines EE 2
C JBoss Clustering schlägt fehl Allgemeines EE 10
E JBoss 7.1 Datasource Problem Allgemeines EE 2
2 Deployment per EAR [JBOSS] Allgemeines EE 6
E JBoss NameNotFoundException: einloggen not bound Allgemeines EE 4
S Jboss Server Allgemeines EE 5
E JBoss, jsp und Parameter Allgemeines EE 2
H Bean läuft unter GlassFish, aber JBoss nicht Allgemeines EE 5
S JBoss 7 Authentifizierung: "No principals available" Allgemeines EE 3
S Principal, Authentication, Security und alles im JBoss 7 Allgemeines EE 16
W JBoss 6 - SocketTimeout dynamisch setzen Allgemeines EE 2
S Manueller EJB Lookup im JBoss AS 7.0.1 Allgemeines EE 8
T eXist und JBoss Allgemeines EE 5
J JBoss, Eclipse, Webseite wird nicht angezeigt? Allgemeines EE 4
T erste Anwendung in JBoss deployen Allgemeines EE 3
V JBoss und Classloader Allgemeines EE 6
S Embedded JBoss Problem beim Deployment Allgemeines EE 4
W Anleitung/Tutorial Eclipse/JBoss 6.0 mit Seam 3.0 bzw. jBPM 5.0 Allgemeines EE 3
G JBoss Portal Allgemeines EE 5
E Servlet Wie kann ich ohne Hilfe von Eclipse in JBoss mein servlet aufrufen Allgemeines EE 2
P Kann jemand mit dieser Exception was anfangen? (JBoss) Allgemeines EE 5
ruutaiokwu jboss problem - work-verzeichnis muss manuell gelöscht werden??? Allgemeines EE 5
W JBoss log dependencies aus jbossall-client.jar Allgemeines EE 7
G JBoss Datasource Allgemeines EE 3
ruutaiokwu ejb hot deployment unter jboss 4.2.3 Allgemeines EE 7
fastjack jBoss und externes Nachrichtensystem Allgemeines EE 3
H log4j + JBoss Allgemeines EE 10
P JAAS mit jboss 6 Allgemeines EE 2
X JBoss log4j Konflikt Allgemeines EE 2
reibi JBoss Webinterface Allgemeines EE 3
X JBoss InitialContext problem Allgemeines EE 5
E Properties-File in Jboss-Conf Verzeichnis ansprechen Allgemeines EE 2
S Servlet auf JBoss 5? Allgemeines EE 11
T Hibernate 3 + EJB 3 + JBoss 5 Allgemeines EE 6
M Deployment auf entfernten JBoss Allgemeines EE 4
T JBoss und DB2-Express Allgemeines EE 2
G separate log files in JBoss Allgemeines EE 2
Escorter JBoss AS als Webserver Allgemeines EE 2
N JBoss Problem mit Bibliothek in unterschiedlichen Versionen Allgemeines EE 2
K mehrere Datenbanken mit JBoss 4.2 und EJB3 Allgemeines EE 3
S Oracle DataSource im JBOSS ---> ClassCastException Allgemeines EE 2
S oracle db über jboss in jsp Allgemeines EE 19
F FORM Auth in JBoss für User mit falscher Rolle ? Allgemeines EE 2
E JBoss mit existierendem Tomcat nutzen? Allgemeines EE 4
T POI, Maven, JBoss und ein java.lang.NoClassDefFoundError Allgemeines EE 7
M embedded jboss unter eclipse 3.3 Allgemeines EE 2
M URL-Programm-Handling mit Jboss Allgemeines EE 2
G Deployen am JBoss Server Allgemeines EE 14
I JBOSS Jsp Files Pfad im Servlet? Allgemeines EE 4
B Problem mit JBoss-4.2.1.GA Allgemeines EE 8
remus JBoss Authentifizierung mit MYSQL-Datenbank Allgemeines EE 4
B Client ausführen mit JBoss v4.2 Allgemeines EE 3
G JBoss nutzt beim starten ständig das Root.war Allgemeines EE 12
R Jboss-Server mit Beispielanwendung füttern Allgemeines EE 2
R JBoss über lokale IP ansprechen Allgemeines EE 16
M JSP, MySQL und JBoss "No suitable Driver" Allgemeines EE 3
J Frage zu Jboss Allgemeines EE 7
N Jboss als Dienst -> Fehler 1053 Allgemeines EE 1
I JBOSS IDE EJB 3.0 Servlets JSP Applikation --> JSF sinnvo Allgemeines EE 2
S JBOSS-Security_DatabaseServerLoginModule Allgemeines EE 29
R Eclipse + JBoss + JSF Allgemeines EE 14
G webapplikation mit jsp, ejb 3.0 und jboss Allgemeines EE 10
T JBoss Installation . JAVA_HOME not set Allgemeines EE 2
JimPanse Jboss 4.2.0, myfaces bzw. Tomahawk Allgemeines EE 5
E JBoss Hibernate Datenbank-Timeout Allgemeines EE 3
G JBoss aus einem Java-Programm starten Allgemeines EE 11
G JSP und URL-Auflösung (JBoss 4.2.0) Allgemeines EE 4
G JBoss im LAN / wie konfigurieren Allgemeines EE 2
G JBoss + MySQL Allgemeines EE 8
R JBoss 4.2.0 - Eclipse RC 3.3 und WTP Allgemeines EE 3
D JBOSS unter Eclipse Allgemeines EE 2
B Servlet-Api.jar auf JBoss? (Migration von Tomcat zu JBoss) Allgemeines EE 4
F JBoss WebService Allgemeines EE 3
P Einarbeitung in JBOSS? Allgemeines EE 3
C EntityManager wirft NullpointerException: JBoss-Hibernate Allgemeines EE 4
K JBoss AS & IDE Probleme Allgemeines EE 2
S JBoss gibt POI API nicht frei Allgemeines EE 8
T Probleme beim Einsatz von J2EE / JBoss Allgemeines EE 4
M JBOSS AS von Eclipse aus steuern Allgemeines EE 9
N Struts Jboss und Filter Allgemeines EE 2
G JBoss - Session / Entity Allgemeines EE 8
H Gibt es ein jBoss Tutorial für JSPs ? Für Anfänger ? Allgemeines EE 5
H Hilfe! Wie erstelle ich einen Interceptor unter jBoss? Allgemeines EE 3
P jsf1.2 JBoss Allgemeines EE 5
M Chatähnliche Architektur mit JEE/JBoss Allgemeines EE 2

Ähnliche Java Themen

Neue Themen


Oben