我有一个用于注册学生的示例Spring应用程序。我甚至使用Bluemix创建了一个SQLDB服务。我无法在Jpacontext.xml中的spring应用程序中绑定服务。
如果有人能帮我提供如何调用的语法,那真的会对我有帮助。
server.xml中的以下条目使我能够将Spring应用程序连接到Bluemix中运行的SQLDB服务实例。
我将db2jcc4.jar和db2jcc_license_cu.jar保存在共享/db2文件夹中。
请查看Bluemix中SQLDB实例的凭据,以获取数据库实例名称、用户名、密码和主机ip地址。
<jdbcDriver id="DB2JDBCDriver" libraryRef="DB2"/>
<library id="DB2" name="DB2 Shared Library">
<fileset dir="${shared.resource.dir}/db2" includes="*.jar"/>
</library>
<dataSource id='MyDataSource' beginTranForVendorAPIs="false" jdbcDriverRef="DB2JDBCDriver" jndiName="jdbc/MyDataSource" type="javax.sql.DataSource">
<properties.db2.jcc id='MyDataSource-props' currentLockTimeout="10s"
databaseName='<Database instance name>'
password='<password>'
portNumber='50000'
serverName='<host ip address>'
user='<username>'/>
<connectionManager connectionTimeout="10s" maxConnectionsPerThread="10" maxPoolSize="25" minPoolSize="5"/>
</dataSource>
希望这能有所帮助!
我同意,我认为我们需要更多的信息才能真正有价值,然而,从下面讨论SQLDB服务的链接开始可能会有所帮助
https://www.ng.bluemix.net/docs/services/SQLDB/index.html#cli
下面的链接讨论了如何绑定到Bluemix中的服务。
https://www.ng.bluemix.net/docs/services/reqnsi.html#config
如果您在审阅此材料后仍有问题,请提供代码片段和您遇到的错误。
您可以将sqldb称为JNDI资源。点击此处查看更多详细信息:
https://developer.ibm.com/answers/questions/178223/how-to-connect-to-db2-with-spring/
取自链接,示例:
datasource-config.xml
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/[some-jndi-name-from-server.xml]" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
p:dataSource-ref="dataSource" />
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>
<bean id="namedParameterJdbcTemplate"
class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:WEB-INF/datasource-config.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
基本上,您需要的是从应用程序中的server.xml路径引用的JNDI名称:
仪表板->您的应用程序->日志和文件->应用程序->.reliberty->usr->servers->defaultServer->server.xml
然后就可以在应用程序中引用您的"dataSource"bean了。