【问题标题】:Getting Datasource instance which is configured in Application Server?获取应用服务器中配置的数据源实例?
【发布时间】:2017-05-10 17:26:39
【问题描述】:

我已经使用管理控制台在 JBOSS EAP 6.3.2 中配置了一个数据源。

我想知道我们可以通过哪些方式获取此数据源的实例?我们可以使用@Resouce,@Inject注解来获取Datasource吗?

或者我们应该使用旧的 JNDI 查找?

谁能帮我理解这个?

【问题讨论】:

  • 你真的需要数据源而不是 entityManager 吗?

标签: java datasource cdi jndi jboss-eap-6


【解决方案1】:

我从未使用过 Jboss EAP,但由于它是 Java EE 6 服务器,您应该能够通过 @Resource 注释注入数据源。

如果它和 JBOSS AS 7 一样工作,你应该:

  • standalone.xml 中定义您的数据源
  • 注入指定lookup属性@Resource的数据源
@Resource(lookup = "java:jboss/MyDataSource")
private DataSource m_dataSource;

【讨论】:

    【解决方案2】:

    我正在使用 weblogic,并且正在使用查找来获取连接。 这可能会对您有所帮助。

    public Connection getConnection(){
        DataSource dataSource = null;
        Connection connection = null;
            try {
                    InitialContext initContext;
                    initContext = new InitialContext();
                    dataSource = (DataSource) initContext.lookup("jdbc/MyDatasource");
                try {
                    connection = dataSource.getConnection();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }catch (Exception e) {
                e.printStackTrace();
            } 
        return connection;
    }
    

    【讨论】:

      猜你喜欢
      • 2021-07-10
      • 2012-05-24
      • 2017-12-10
      • 2021-12-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多