有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java理解JCA1.6中的@ConnectionDefinitions注释

我找不到在ManagedConnectionFactory实现中使用复数@ConnectionDefinitions的示例。让我困惑的是,单一的@ConnectionDefinition注释不允许为每个定义提供@ConfigProperty。只能使用@ConfigProperty为ManagedConnectionFactory的所有实例设置默认属性,并且每个连接定义必须使用不同的ConnectionFactory接口。假设你做了这样的事情:

@ConnectionDefinitions(value = { 
    @ConnectionDefinition(
            connection = com.company.product.connector.MyConnection.class, 
            connectionFactory = com.company.product.connector.ConnectionFactory1.class, 
            connectionFactoryImpl = com.company.product.connector.ConnectionFactory1Impl.class, 
            connectionImpl = com.company.product.connector.MyConnectionImpl.class
    )

    @ConnectionDefinition(
            connection = com.company.product.connector.MyConnection.class, 
            connectionFactory = com.company.product.connector.ConnectionFactory2.class, 
            connectionFactoryImpl = com.company.product.connector.ConnectionFactory2Impl.class, 
            connectionImpl = com.company.product.connector.MyConnectionImpl.class
    )
})
public class MyManagedConnectionFactory implements
    ManagedConnectionFactory, ResourceAdapterAssociation {

@Override
public Object createConnectionFactory(ConnectionManager connectionManager)
        throws ResourceException {
        //Return the connection factory.
    }
}

createConnectionFactory()如何知道是否返回ConnectionFactory1或ConnectionFactory2?除非有人通过ra重写注释。xml,我看不到使用配置属性作为条件的方法

似乎很难确定ManagedConnectionFactory属于哪一个连接定义,那么,当每个ConnectionFactory都可以有单独的ManagedConnectionFactory时,为什么要这样做呢

举个例子会很有帮助


共 (0) 个答案