2015-06-16 1 views
0

Поэтому я использую BoneCP и создать свой источник данных весной:Получение PostGIS/JDBC для работы с BoneCP весной

<bean id="baseDataSource" abstract="true" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close"> 
    <property name="driverClass" value="#{T(io.bigsense.spring.MySpring).dbDriver('${dbms}')}" /> 
    <property name="jdbcUrl" value="#{T(io.bigsense.spring.MySpring).dbConnectionString('${dbms}','${dbHostname}','${dbDatabase}','${dbPort}')}" /> 
    <property name="maxConnectionsPerPartition" value="${dbPoolMaxPerPart}"/> 
    <property name="minConnectionsPerPartition" value="${dbPoolMinPerPart}"/> 
    <property name="partitionCount" value="${dbPoolPartitions}"/> 
    <property name="acquireIncrement" value="5"/> 
    <property name="statementsCacheSize" value="100"/> 
    <property name="releaseHelperThreads" value="3"/> 
</bean> 

Большинство из этих значений поступают из файла свойств. В этом конкретном случае driverClass - org.postgresql.Driver, а мой jdbcUrl - jdbc:postgresql://[hostname]:[port]/[database], возвращенный из некоторых пользовательских функций.

У меня PostGIS установлен на моих Postgres-9,4 экземпляра, и я нашел в документации, говорится, что для того, чтобы отправить География объектов в Postgres через JDBC, вам нужно добавить типы данных в связи:

import java.sql.*; 
import java.util.*; 
import java.lang.*; 
import org.postgis.*; 

... 
    java.sql.Connection conn; 

    try { 
    Class.forName("org.postgresql.Driver"); 
    String url = "jdbc:postgresql://localhost:5432/database"; 
    conn = DriverManager.getConnection(url, "postgres", ""); 
    ((org.postgresql.Connection)conn).addDataType("geometry","org.postgis.PGgeometry") 
; ((org.postgresql.Connection)conn).addDataType("box3d","org.postgis.PGbox3d"); 

Мой вопрос: как мне это сделать с настройкой BoneCP? Если я сделаю getConnection() из моего источника данных BoneCP, я не могу применить его к org.postgresql.PGConnection, потому что его тип на самом деле равен com.jolbox.bonecp.ConnectionHandle.

Как настроить типы данных PostGIS с базовыми драйверами Postgres при использовании источника данных BoneCP, определенного в контексте приложения Spring?

ответ

Смежные вопросы