2011-06-01 593 views
2

我可以使用新的@DataSourceDefinition而不是在Spring上下文中聲明Datasource可以在Spring上下文中使用@DataSourceDefinition註解嗎?

@DataSourceDefinition(name="java:global/MyApp/MyDataSource", 
     className="com.foobar.MyDataSource", 
     portNumber=6689, 
     serverName="myserver.com", 
     user="lance", 
     password="secret" 
    ) 

使用URL:

@DataSourceDefinition(name="java:global/MyApp/MyDataSource", 
    className="org.apache.derby.jdbc.ClientDataSource", 
    url="jdbc:derby://localhost:1527/myDB", 
    user="lance", 
    password="secret" 
) 

從EJB數據源的一個例子的查找:

@Stateless 
public class MyStatelessEJB { 
    @Resource(lookup="java:global/MyApp/myDataSource") 
    DataSource myDB; 
     ... 
} 

回答

0

據文檔,

http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/

春天不知道這個註解。

但一如既往,你可以使用Spring的@Configuration註釋代碼內聲明的數據源:

例子:

@Configuration 
public class DatabaseConfig { 
    @Bean 
    public DataSource dataSource() { 
     // instantiate, configure and return DataSource 
    } 
} 

其他例子是在這裏:http://static.springsource.org/spring/docs/3.1.x/javadoc-api/org/springframework/context/annotation/Configuration.html

如果您需要訪問JNDI資源,你可以使用Spring的jee命名空間(xml配置),解釋如下:http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/xsd-config.html#xsd-config-body-schemas-jee,section C.2.3 jee schema。

實施例:

<jee:jndi-lookup id="dataSource" jndi-name="jdbc/MyJdbcDataSource" /> 
相關問題