在Spring Application中调用SQLDB Bluemix服务

时间:2015-06-17 18:12:29

标签: sql spring ibm-cloud

我有一个示例Spring应用程序用于注册学生。我甚至使用Bluemix创建了一个SQLDB服务。我无法在Spring应用程序中绑定Jpacontext.xml中的服务。

如果有人可以帮我提供如何调用的语法,这对我有用。

3 个答案:

答案 0 :(得分:1)

server.xml中的以下条目使我能够将Spring应用程序连接到Bluemix中运行的SQLDB Service实例。

我将db2jcc4.jar和db2jcc_license_cu.jar保存在shared / 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>  

希望这有帮助!

答案 1 :(得分:0)

我同意,我认为我们需要更多信息才能具有任何实际价值,但是,首先回顾下面讨论SQLDB服务的链接可能会有所帮助

https://www.ng.bluemix.net/docs/services/SQLDB/index.html#cli

以及以下链接,讨论如何绑定到Bluemix中的服务。

https://www.ng.bluemix.net/docs/services/reqnsi.html#config

如果您在查看此资料后仍有问题,请提供代码段以及您遇到的错误。

答案 2 :(得分:0)

您可以将sqldb称为JNDI资源。在这里查看更多详情:

https://developer.ibm.com/answers/questions/178223/how-to-connect-to-db2-with-spring/

取自链接,例如:

数据源-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>

基本上你需要的是要引用的JNDI名称,来自应用程序中的server.xml路径:

信息中心 - &gt;您的申请 - &gt;日志和文件 - &gt; app - &gt; .liberty - &gt; usr - &gt;服务器 - &gt; defaultServer - &gt; server.xml中

可以引用您的&#34; dataSource&#34;应用程序中的bean。