Ошибка при создании источника данных для neo4j на сервере приложений websphere - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь создать источник данных для neo4j на сервере приложений websphere, но он не может подключиться.Любые указатели на это могут быть полезны.

Драйвер JDBC Создан со следующими параметрами:

  • Имя: neo4j Driver
  • Путь к классу: путь к jar-файлу neo4j jdbc/neo4j-jdbc-driver-3.3.1.jar
  • Имя класса реализации: org.neo4j.jdbc.Driver

Источник данных, созданный со следующими данными:

  • jndi Имя: jdbc / neo4j

Пользовательские свойства:

  • auth: контейнер
  • тип: javax.sql.DataSource
  • имя пользователя: neo4j
  • пароль: пароль
  • url: jdbc: neo4j: bolt: // localhost: порт
  • removeAbandonedOnBorrow: true
  • closeMethod: close

Свойства добавляются на основе указателей, предоставленных в https://github.com/neo4j-contrib/neo4j-jdbc

Вот ошибка из журналов:

java.lang.Исключение: DSRA8101E: Класс DataSource нельзя использовать как однофазный: ClassCastException: org.neo4j.jdbc.bolt.BoltDriver несовместим с javax.sql.ConnectionPoolDataИсточник [27.05.1913: 12: 41: 533 UTC] 00000111 SystemErr R по адресу com.ibm.ws.rsadapter.AdapterUtil.createDataStoreAdapterException (AdapterUtil.java:441) [27.05.19 13:12:41:533 UTC] 00000111 SystemErr R at com.ibm.ws.rsadapter.DSConfigHelper.getPooledConnection (DSConfigHelper.java:1340)

Ответы [ 2 ]

1 голос
/ 28 мая 2019

Чтобы выяснить для других, кто может найти этот пост в будущем - возможно ли напрямую настроить java.sql. Драйвер зависит от того, используется ли WebSphere Application Server традиционный против Liberty.

В традиционном WebSphere Application Server возможен более косвенный подход, который включает макетирование класса ConnectionPoolDataSource вокруг драйвера.Это обсуждается в посте , связанном с переполнением стека .

. В Liberty 18.0.0.3 и выше можно напрямую настроить источник данных, указав только URL, с примерами, приведенными в этот документ центра знаний .

Вот пример конфигурации источника данных в Liberty,

<featureManager>
  <feature>jdbc-4.2</feature>
  <feature>jndi-1.0</feature>
  ... other features
</featureManager>

<dataSource jndiName="jdbc/neo4j" containerAuthDataRef="neo4jAuth">
  <jdbcDriver libraryRef="neo4j"/>
  <properties URL="jdbc:neo4j:bolt://localhost:7687"/>
</dataSource>

<authData id="neo4jAuth" user="neo4j" password="password"/>

<library>
  <file name="C:/drivers/neo4j/neo4j-jdbc-driver-3.3.1.jar"/>
</library>
1 голос
/ 28 мая 2019

Согласно документации Neo4j НЕ является совместимым драйвером JDBC.

Мы рассмотрим эти аспекты JDBC-API, все, что не явно упомянутое следует считать не реализованным

Также не реализован необходимый интерфейс javax.sql.DataSoruce, поэтому его нельзя настроить на сервере. Вам нужно будет обработать это в коде приложения.

...