ERLEDIGT
NEIN
NEIN
ANTWORTEN
10
10
ZUGRIFFE
1689
1689
EMPFEHLEN
-
12.07.06 12:40 #1
- Registriert seit
- Jun 2006
- Ort
- Paderborn
- Beiträge
- 243
Hi
Weiß einer was ich alles umstellen muss wenn ich meine connection von Hibernate auf JNDI wechseln will oder hat jemand ein link von einer doku die das Erläutert.
-
12.07.06 12:46 #2
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo!
Was willst du denn genau tun? Willst du dass die Datenbankverbindung die Hibernate benutzt nicht von Hibernate selbst Konfiguriert wird, sondern stattdessen aus dem JNDI gezogen wird?
Weiß einer was ich alles umstellen muss wenn ich meine connection von Hibernate auf JNDI wechseln will oder hat jemand ein link von einer doku die das Erläutert.
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
12.07.06 12:52 #3
- Registriert seit
- Jun 2006
- Ort
- Paderborn
- Beiträge
- 243
richtig.
Da ich meine anwendung auf einem Websphere Portal laufen habe und hibernate da ständig durchläuft und JNDI nicht
.
-
12.07.06 12:58 #4
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo!
Das ist in der Hibernate Reference erklärt:
HIBERNATE - Relational Persistence for Idiomatic Java
Weiterhin bietet es sich an die SessionFactory auch im JNDI zu hinterlegen.
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
12.07.06 13:03 #5
- Registriert seit
- Jun 2006
- Ort
- Paderborn
- Beiträge
- 243
besten dank.
-
13.07.06 13:23 #6
- Registriert seit
- Jun 2006
- Ort
- Paderborn
- Beiträge
- 243
gibt es auch eine dokumentation über die einstellung am Server? ich programmiere mit dem Rational 6 und benutze als server ein Webshpere Portal 5.0 Testumgebung.
-
14.07.06 08:10 #7
- Registriert seit
- Jun 2006
- Ort
- Paderborn
- Beiträge
- 243
Hmm mein JNDI möchte einfach nicht laufen. Ich habe die DB - Daten in der Server Konfiguration abgelegt.
Meine hibernate.properties
Code :1 2 3 4 5 6
hibernate.connection.datasource = java:/jdbc/jndiDB hibernate.transaction.factory_class = \ org.hibernate.transaction.JTATransactionFactory hibernate.transaction.manager_lookup_class = \ org.hibernate.transaction.JBossTransactionManagerLookup hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
meine SessionFactory:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
private SessionFactory _sessionFactory; private Session _session; private ThreadLocal _threadLocal = new ThreadLocal(); // Template Methods protected abstract String getKeyFieldName(); protected abstract Class getStoredClass(); // Methods protected AbstractServiceDBImpl() { // initalizeHibernate(); if (! isHibernateInitialized()) initalizeHibernate(); } protected Session getSession() throws HibernateException { Contract.require(isHibernateInitialized(), "hibernate ist initialisiert"); Session session = (Session) _threadLocal.get(); if (session == null || !session.isOpen()) { session = _sessionFactory.openSession(); _threadLocal.set(session); } /*try { int i = 0; System.out.println(">>> session.connection().isClosed() " + session.connection().isClosed()); } catch (HibernateException e) { System.out.println("Probleme beim connect"); //e.printStackTrace(); } catch (SQLException e) { System.out.println("Probleme beim connect"); //e.printStackTrace(); }*/ session.clear(); Contract.ensure(session != null, "result"); return session; } private boolean sessionIsConnected() { // return _session.isConnected(); return ((Session) _threadLocal.get()).isConnected(); } protected boolean isHibernateInitialized() { return _sessionFactory != null; } /** * Hibernate initialisieren. SessionFactory merken. */ private void initalizeHibernate() { Contract.require(!isHibernateInitialized(), "Hibernate is not initialized yet"); try { // Konfigurationsdateien einlesen URL mappingURL = getClass().getClassLoader().getResource("mapping.xml"); InputStream in = getClass().getClassLoader().getResourceAsStream("hibernate.properties"); Properties properties = new Properties(); properties.load(in); // Hibernate konfigurieren Configuration configuration = new Configuration(); configuration.setProperties(properties); configuration.addURL(mappingURL); // SessionFactory merken! Sie erzeugt die benötigten Sessions. [B]_sessionFactory = configuration.buildSessionFactory();[/B] } catch (HibernateException e) { System.out.println("Probleme beim Konfigurieren von Hibernate!"); e.printStackTrace(); } catch (IOException e) { System.out.println("Probleme beim Zugriff auf die Datei hibernate.properties"); e.printStackTrace(); } Contract.ensure(isHibernateInitialized(), "Hibernate is successfully initialized"); }
an der markierten Stelle meldet er ein Fehler.
-
14.07.06 09:04 #8
- Registriert seit
- Jun 2006
- Ort
- Paderborn
- Beiträge
- 243
So kleine Änderung:
hibernate.cfg.xml:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <!-- a SessionFactory instance listed as /jndi/name --> <session-factory name="java:hibernate/SessionFactory"> <!-- properties --> <property name="connection.datasource">java:/jdbc/jndiUrlaubsplaner</property> <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property> <property name="show_sql">false</property> <property name="transaction.factory_class"> org.hibernate.transaction.JTATransactionFactory </property> </session-factory> </hibernate-configuration>
SessionFactory:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
private void initalizeHibernate() { Contract.require(!isHibernateInitialized(), "Hibernate is not initialized yet"); try { // Konfigurationsdateien einlesen URL mappingURL = getClass().getClassLoader().getResource("mapping.xml"); InputStream in = getClass().getClassLoader().getResourceAsStream("hibernate.cfg.xml"); Properties properties = new Properties(); properties.load(in); System.out.println("test3"); // Hibernate konfigurieren Configuration configuration = new Configuration(); configuration.setProperties(properties); configuration.addURL(mappingURL); System.out.println("test4"); // SessionFactory merken! Sie erzeugt die benötigten Sessions. _sessionFactory = configuration.configure("hibernate.cfg.xml").buildSessionFactory(); } catch (HibernateException e) { System.out.println("Probleme beim Konfigurieren von Hibernate!"); e.printStackTrace(); } catch (IOException e) { System.out.println("Probleme beim Zugriff auf die Datei hibernate.properties"); e.printStackTrace(); } Contract.ensure(isHibernateInitialized(), "Hibernate is successfully initialized"); }
als Fehlermeldung bekomme ich:
[14.07.06 08:59:30:750 CEST] 6c805553 DatasourceCon F org.hibernate.connection.DatasourceConnectionProvider Could not find datasource: java:/jdbc/jndiUrlaubsplaner
[14.07.06 08:59:30:750 CEST] 6c805553 DatasourceCon F org.hibernate.connection.DatasourceConnectionProvider TRAS0014I: Die folgende Ausnahmebedingung wurde protokolliert: javax.naming.NameNotFoundException: Name not found in context "java:".
-
14.07.06 10:09 #9
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo!
Dann schau doch mal im Websphere JNDI Explorer in welchem JNDI Space deine SessionFactory / Connection nun gebunden wurde.
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
14.07.06 10:29 #10
- Registriert seit
- Jun 2006
- Ort
- Paderborn
- Beiträge
- 243
Was meinst denn du damit meine Rational Websphere Portal 5.0 Testumgebung besitzt sowas nicht.
-
17.07.06 09:27 #11
- Registriert seit
- Jun 2006
- Ort
- Paderborn
- Beiträge
- 243
wo soll denn der sein?
Zitat von Thomas Darimont
bzw. ist es überhaupt möglich eine verbing mit jndi und hibernate in eine Portalanwendung herzustellen?Geändert von darksmilie (17.07.06 um 09:50 Uhr)
Ähnliche Themen
-
Hibernate SessionFactory über JNDI Oracle 10g Application Server (OC4J
Von F5erl im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 09.12.08, 17:00 -
Hibernate Persistence.xml - Sinnvoller Wert für hibernate.hbm2ddl.auto
Von Herr_M im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 3Letzter Beitrag: 08.10.08, 08:21 -
Hibernate: Mapping v. Beziehungen und was Hibernate daraus macht
Von DerGrinsemann im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 2Letzter Beitrag: 14.08.08, 12:53 -
Hibernate: save, update, saveOrUpdate, merge, .... [an alle Hibernate-Profis]
Von DerGrinsemann im Forum JavaAntworten: 2Letzter Beitrag: 13.06.07, 09:24 -
Hibernate (offizielles Eclipse Plugin aus Hibernate Tools) und MySQL
Von webmagier im Forum JavaAntworten: 1Letzter Beitrag: 25.01.06, 17:59





Zitieren

Login





