-3

私のプロジェクトは、データベースの目的で休止状態を使用したJava ee Webアプリケーションです。1 つのデータベースをこのアプリケーションに接続します。別の mysql データベースをこのプロジェクトに接続する必要があります。どうすれば可能ですか? 適切なリンクまたは解決策を教えてください

私はこの最初の回答を使用しましたが、この例外が発生します {16:02:39,552 WARN SettingsFactory - 接続メタデータを取得できませんでした java.sql.SQLException: 適切なドライバーが hsqldb:hsql に見つかりません://127.0.0.1:9001/openreports at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110) ) org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:72) で org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1881) で org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java: 1174) org.efs.openreports.actions.admin.ServerDataAction.(ServerDataAction.java:23) で、sun で。org. springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:84) org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:71) org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor( ConstructorResolver.java:150) の org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:745) の org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowire(AbstractAutowireCapableBeanFactory.java:253) com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:145) com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:128) com.opensymphony .xwork2.ObjectFactory.buildBean(ObjectFactory.java:143) com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:113) com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:275) com. opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:365) com.opensymphony.xwork2.DefaultActionInvocation.access$000(DefaultActionInvocation.java:38) com.opensymphony.xwork2.DefaultActionInvocation$1.doProfiling(DefaultActionInvocation.java:83) com.opensymphony.xwork2.util.profiling で。UtilTimerStack.profile(UtilTimerStack.java:455) com.opensymphony.xwork2.DefaultActionInvocation.(DefaultActionInvocation.java:74) com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:189) org.apache.struts2. impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41) org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494) org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) で org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) で org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter) .java:125) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) org.apache .catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java) :102) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) で org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) で org.apache.coyote.http11。 Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) で java.lang.Thread.run(不明なソース) 16:02:39,610 WARN SessionFactoryObjectFactory - InitialContext は EventContext を実装しませんでしたこれは私のエラーメッセージです。これの原因は何ですか。助けてください........}

4

1 に答える 1

2

2つのデータベースに接続するには、2つ必要ですSessionFactory

ヒント:

 SessionFactory sessionFactory1 = new  Configuration().configure("config1.cfg.xml").buildSessionFactory();
 SessionFactory sessionFactory2 = new Configuration().configure("config2.cfg.xml").buildSessionFactory();


void yourMethod() {
        try {
            session = sessionFactory1.openSession();
            // here play with session of sessionFactory1
            session.close();

            session = sessionFactory2.openSession();
           // here play with session of sessionFactory2
            session.close();

        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            System.out.println("It works");
        }
    }

スプリングを使用している場合は、2 つのデータベースのロードを参照してください。

于 2012-10-26T09:27:15.780 に答える