我正在努力将本地机器上运行的jboss连接到Openshift中的MongoDB数据库。
它使用本地数据库(本地主机:27017)工作正常。
My persistence.xml:
<?xml version="1.0" encoding="utf-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="mongodb-PU" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ogm.jpa.HibernateOgmPersistence</provider>
<class>com.commons.db.model.User</class
<properties>
<property name="hibernate.ogm.datastore.provider" value="mongodb" />
<property name="hibernate.ogm.datastore.database" value="test" />
<property name="hibernate.ogm.datastore.create_database" value="true" />
<property name="hibernate.transaction.jta.platform"
value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform"/>
<!-- Running on local machine with local dataabse details -->
<!--
<property name="hibernate.ogm.mongodb.host" value="localhost" />
<property name="hibernate.ogm.mongodb.port" value="27017" />
-->
<!-- Running on openshift locally with port forwarding -->
<!-- -->
<property name="hibernate.ogm.mongodb.host" value="127.0.0.1" />
<property name="hibernate.ogm.mongodb.port" value="44506" />
<property name="hibernate.ogm.mongodb.username" value="admin" />
<property name="hibernate.ogm.mongodb.password" value="password" />
<!-- -->
</properties>
</persistence-unit>
</persistence>
我运行了rch端口转发命令。
rhc port-forward -a test-app
它返回了正确的端口转发:
haproxy 127.0.0.1:8081 => 127.4.173.2:8080
haproxy 127.0.0.1:8082 => 127.4.173.3:8080
java 127.0.0.1:3528 => 127.4.173.1:3528
java 127.0.0.1:4448 => 127.4.173.1:4447
java 127.0.0.1:5445 => 127.4.173.1:5445
java 127.0.0.1:5455 => 127.4.173.1:5455
java 127.0.0.1:8083 => 127.4.173.1:8080
java 127.0.0.1:9991 => 127.4.173.1:9990
java 127.0.0.1:10000 => 127.4.173.1:9999
mongodb 127.0.0.1:44506 => 54c685bf5973cac227000040-*****.rhcloud.com:44506
mysql 127.0.0.1:54231 => 54c687b95973ca28650000a9-*****.rhcloud.com:54231
我可以使用
mongo --host 127.0.0.1 --port 44506
但当我尝试用持久性启动jboss服务器时。xml,我在上面向您展示过。它总是尝试连接到localhost:27017。返回此错误:
Caused by: org.hibernate.HibernateException: OGM001214: Unable to connect to MongoDB instance localhost:27017
at org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider.extractDatabase(MongoDBDatastoreProvider.java:167)
at org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider.start(MongoDBDatastoreProvider.java:110)
... 37 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=localhost:27017, type=Unknown, state=Connecting, exception={com.mongodb.MongoException$Network: Exception opening the socket}, caused by {j
ava.net.ConnectException: Connection refused}}]
at com.mongodb.BaseCluster.getDescription(BaseCluster.java:128)
at com.mongodb.DBTCPConnector.getClusterDescription(DBTCPConnector.java:396)
at com.mongodb.DBTCPConnector.getType(DBTCPConnector.java:569)
at com.mongodb.DBTCPConnector.getReplicaSetStatus(DBTCPConnector.java:364)
at com.mongodb.Mongo.getReplicaSetStatus(Mongo.java:465)
at com.mongodb.DB.getCommandReadPreference(DB.java:86)
at com.mongodb.DB.command(DB.java:314)
at com.mongodb.DB.command(DB.java:296)
at com.mongodb.DB.command(DB.java:371)
at com.mongodb.Mongo.getDatabaseNames(Mongo.java:396)
at org.hibernate.ogm.datastore.mongodb.impl.MongoDBDatastoreProvider.extractDatabase(MongoDBDatastoreProvider.java:152)
... 38 more
在尝试使用persistence.xml从本地服务器连接到Openshift托管数据库时,是否有人遇到过类似的问题?
谢谢你
您使用的是哪个版本的OGM?
在最新版本中,用于指定主机和端口的属性包括:
hibernate.ogm.datastore.host
hibernate.ogm.datastore.port
我正在尝试使用rds部署带有MySQL引擎的rds实例。数据库子网组位于公用子网中。 我已执行以下检查:-允许安全组在端口3306上进行公共访问-在端口3306上的endpointURL上成功执行Telnet命令 配置如下: 日志记录详细信息: 正在尝试使用console连接到rds
null 我确信我已经在127.0.0.1:27017启动了数据库服务,并且可以用shell和非异步方法连接。错误: PrimaryServerSelector没有从群集描述中选择服务器ClusterDescription{type=unknown,connectionmode=single,all=[ServerDescription{address=localhost:27017,type=u
这是我的实体 这是我的主课 这就是我的persistence.xml 堆栈跟踪:
试图连接一个简单的JMX监控。托管应用程序和监控工具位于同一台服务器上。当试图连接一个错误 00:30:55610致命http-8080-6 SiteListener:makeJmxConnection:99-java.io。IOException:检索RMIServer存根失败:javax.naming。ServiceUnavailableException[根异常为java.rmi.Conne
我试图连接到mysql数据库从docker图像。然而,这是投掷错误。 下面是我正在使用的docker图像。https://hub.docker.com/_/mysql/ 下面是我用来运行docker映像的命令。 以下是命令的输出 如果我使用docker检查IP并ping该IP,则显示IP不可访问。 如果我尝试使用和我遇到以下错误。 无法加载身份验证插件“缓存\u sha2\u密码”。
我在MongoDB中配置了一个三节点副本集;复制是同步的。 我可以单独连接到每台服务器,并使用每台服务器的专用IP地址连接到副本集,如下所示: mongo—主机rs0/10。十、 X.X:27017,10。十、 X.X:27017,10。十、 X.X:27017-u根-p abc123-authenticationDatabase管理员 但是当我尝试使用服务器的公共IP地址连接到副本集时,如下所示