每个客户端

时间:2017-11-19 10:36:15

标签: java mysql database

我已经要求为每个客户端提供一个数据库,在完成大部分链接后,我能够取得一些进展。 这就是我实现的方式,根据输入的URL,我们获取公司或客户端信息,并根据我们从tomcat的context.xml文件中获取该特定客户端的数据源信息     

对于company1和

<Resource name="company2db"  auth="Container" driverClassName="com.mysql.jdbc.Driver" maxActive="50" maxIdle="30" maxWait="10000" password="orion123" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/company1db" username="root"/>

对于company2,我使用以下代码动态设置数据源

        Context initContext = new InitialContext();
        Context envContext = (Context)initContext.lookup("java:/comp/env");
        DataSource ds = (DataSource)envContext.lookup("company1db");
        System.out.println("connection name "+ds.getConnection().toString());
        Connection conn = ds.getConnection();
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery("select * from user");
        while (rs.next())
            System.out.println(rs.getInt(1) + "  " + rs.getString(2) + "  " + rs.getString(3));
        conn.close();

我是否必须为每个服务调用重复相同的步骤,或者是否有办法在登录期间设置一次并使用相同的数据源,直到用户注销或会话到期为止。在我们当前的场景中我们正在使用EntityManager

与数据库进行交互

0 个答案:

没有答案