как подключить атлас mogodb к java EE 8 Framework с помощью jpa через hibernate ogm?

поэтому я хочу подключить кластер атласа mongodb к проекту jpa

я мог бы подключиться к локальному mongodb с помощью этого репо: https://github.com/i0712326/java-ee-hibernate-mongodb/tree/main/java-ee-09-hibernate-ogm

но сколько я изменил его файл persistanse.xml, чтобы подключиться к атласу, он не работал... я использовал почти все свойства на этой странице: https://github.com/WiPeK/JavaEE-Bank/blob/5446e1c0fc87b7d4ef28e89bd3c5542de62ecaa7/shared/src/main/resources/META-INF/mongo-persistence.xml

я думаю, что проблема связана с свойством хоста, поэтому я использовал это свойство:

  <property name="hibernate.ogm.datastore.host" value="cluster0-shard-00-00.dd0ui.mongodb.net:27017,cluster0-shard-00-01.dd0ui.mongodb.net:27017,cluster0-shard-00-02.dd0ui.mongodb.net:27017 "/>

то появляется эта ошибка:

           Caused by: org.hibernate.HibernateException: OGM001203: Unable to find or initialize a connection to the MongoDB server
at deployment.java-ee-09-hibernate-ogm.war//org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider.createMongoClient(MongoDBDatastoreProvider.java:133)
at deployment.java-ee-09-hibernate-ogm.war//org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider.start(MongoDBDatastoreProvider.java:108)
... 43 more
          Caused by: java.lang.NumberFormatException: For input string: "27017,cluster0-shard-00-01.dd0ui.mongodb.net:27017,cluster0-shard-00-02.dd0ui.mongodb.net:27017"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
at java.base/java.lang.Integer.parseInt(Integer.java:652)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at deployment.java-ee-09-hibernate-ogm.war//com.mongodb.ServerAddress.<init>(ServerAddress.java:85)
at deployment.java-ee-09-hibernate-ogm.war//org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider.createMongoClient(MongoDBDatastoreProvider.java:124)
... 44 more
      

я использовал это свойство:

       <property name="hibernate.ogm.datastore.host" value="cluster0-shard-00-00.dd0ui.mongodb.net"/> 

то эта ошибка показывает:

            Caused by: org.hibernate.HibernateException: OGM001214: Unable to connect to MongoDB instance cluster0-shard-00-00.dd0ui.mongodb.net:27017
at deployment.java-ee-09-hibernate-ogm.war//org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider.extractDatabase(MongoDBDatastoreProvider.java:182)
at deployment.java-ee-09-hibernate-ogm.war//org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider.start(MongoDBDatastoreProvider.java:110)
... 43 more
                 Caused by: com.mongodb.MongoTimeoutException: Timed out after 5000 ms while waiting to connect. Client view of cluster state is {type=Unknown, servers=[{address=cluster0-shard-00-00.dd0ui.mongodb.net:27017, type=Unknown, state=Connecting}]
at deployment.java-ee-09-hibernate-ogm.war//com.mongodb.BaseCluster.getDescription(BaseCluster.java:128)
at deployment.java-ee-09-hibernate-ogm.war//com.mongodb.DBTCPConnector.getClusterDescription(DBTCPConnector.java:396)
at deployment.java-ee-09-hibernate-ogm.war//com.mongodb.DBTCPConnector.getMaxBsonObjectSize(DBTCPConnector.java:641)
at deployment.java-ee-09-hibernate-ogm.war//com.mongodb.Mongo.getMaxBsonObjectSize(Mongo.java:641)
at deployment.java-ee-09-hibernate-ogm.war//com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:81)
at deployment.java-ee-09-hibernate-ogm.war//com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:66)
at deployment.java-ee-09-hibernate-ogm.war//com.mongodb.DB.getCollectionNames(DB.java:512)
at deployment.java-ee-09-hibernate-ogm.war//com.mongodb.DB.collectionExists(DB.java:555)
at deployment.java-ee-09-hibernate-ogm.war//org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider.extractDatabase(MongoDBDatastoreProvider.java:173)
... 44 more

спящий режим-ядро-4.3.8.final

hibernate-ogm-mongodb-4.1.2.final

монго-java-драйвер-2.12.4


person cellbox    schedule 16.01.2021    source источник
comment
Добрый день, опишите вашу ситуацию подробнее. Ваш вопрос довольно открытый, поэтому, пожалуйста, сфокусируйте свой вопрос. Приведите пример, возможно, как выглядит ваш код.   -  person Janos Vinceller    schedule 16.01.2021
comment
Вы используете старые зависимости. Это по выбору? Последнее OGM Hibernate — 5.4.1.Final.   -  person Davide    schedule 19.01.2021


Ответы (1)


Зависимости, которые вы используете, довольно старые. Я не уверен, что они поддерживают MongoDB Atlas, они не поддерживают настройку нескольких хостов в свойстве конфигурации. Вот почему у вас есть NumberFormatException.

Последняя доступная версия Hibernate OGM — 5.4.1.Final. Если у вас нет строгих требований к используемой зависимости, я бы попытался использовать ее: https://hibernate.org/ogm/releases/5.4/

person Davide    schedule 19.01.2021
comment
да ... проблема заключалась в старых зависимостях ... почему, когда я использую maven, нет необходимости добавлять модели организации в wildfly? ... могу ли я получить ваш идентификатор linkedin? - person cellbox; 20.01.2021
comment
Извините, я не понимаю вопроса - person Davide; 22.01.2021