我正在尝试启动一个openfire服务器。我有一个配置为与数据库ofProperty表匹配的openfire.xml文件。我已经检查了几次该文件是否匹配。
但是,当我启动服务器时,有几个条目被截断。
例如(为了保护无辜而更改了密码),xml开始:
<jive>
<adminConsole>
<!-- Disable either port by setting the value to -1 -->
<port>9090</port>
<securePort>9091</securePort>
</adminConsole>
<locale>en</locale>
<!-- Network settings. By default, Openfire will bind to all network interfaces.
Alternatively, you can specify a specific network interfaces that the server
will listen on. For example, 127.0.0.1. This setting is generally only useful
on multi-homed servers. -->
<!--
<network>
<interface></interface>
</network>
-->
<connectionProvider>
<className>org.jivesoftware.database.DefaultConnectionProvider</className>
</connectionProvider>
<database>
<defaultProvider>
<driver>com.mysql.jdbc.Driver</driver>
<serverURL>jdbc:mysql://127.0.0.1:3306/dbname?rewriteBatchedStatements=true</serverURL>
<username encrypted="true">47c7d59aea0f0d694d698fd28ca2c605e5c6dd98da22373c</username>
<password encrypted="true">27f0f1a1524c7c617aab9345f5eb51d30b36a4561de0daaa147af209392c0fda</password>
<testSQL>select 1</testSQL>
<testBeforeUse>false</testBeforeUse>
<testAfterUse>false</testAfterUse>
<minConnections>5</minConnections>
<maxConnections>25</maxConnections>
<connectionTimeout>1.0</connectionTimeout>
</defaultProvider>
</database>
<jdbcProvider>
<driver>com.mysql.jdbc.Driver</driver>
<connectionString>jdbc:mysql://127.0.0.1/dbname?user=dbuser&password=dbpass!</connectionString>
</jdbcProvider>
<provider>
<auth>
<className>org.jivesoftware.openfire.auth.JDBCAuthProvider</className>
</auth>
<user>
<className>org.jivesoftware.openfire.user.JDBCUserProvider</className>
</user>
</provider>
<jdbcAuthProvider>
<passwordSQL>SELECT user_pass FROM hq_users WHERE user_login=?</passwordSQL>
<passwordType>md5</passwordType>
</jdbcAuthProvider>
<jdbcUserProvider>
<loadUserSQL>SELECT user_nicename,user_email FROM hq_users WHERE user_login=?</loadUserSQL>
<userCountSQL>SELECT COUNT(*) FROM hq_users</userCountSQL>
<allUsersSQL>SELECT user_login FROM hq_users</allUsersSQL>
<searchSQL>SELECT user_login FROM hq_users WHERE</searchSQL>
<usernameField>user_login</usernameField>
<nameField>user_nicename</nameField>
<emailField>user_email</emailField>
</jdbcUserProvider>
<setup>true</setup>
<admin>
<authorizedUsernames>cheng</authorizedUsernames>
</admin>
</jive>但是结束了:
<jive>
<adminConsole>
<!-- Disable either port by setting the value to -1 -->
<port>9090</port>
<securePort>9091</securePort>
</adminConsole>
<locale>en</locale>
<!-- Network settings. By default, Openfire will bind to all network interfaces.
Alternatively, you can specify a specific network interfaces that the server
will listen on. For example, 127.0.0.1. This setting is generally only useful
on multi-homed servers. -->
<!--
<network>
<interface></interface>
</network>
-->
<connectionProvider>
<className>org.jivesoftware.database.DefaultConnectionProvider</className>
</connectionProvider>
<database>
<defaultProvider>
<driver>com.mysql.jdbc.Driver</driver>
<serverURL>jdbc:mysql://127.0.0.1:3306/dbname?rewriteBatchedStatements=true</serverURL>
<username encrypted="true">47c7d59aea0f0d694d698fd28ca2c605e5c6dd98da22373c</username>
<password encrypted="true">27f0f1a1524c7c617aab9345f5eb51d30b36a4561de0daaa147af209392c0fda</password>
<testSQL>select 1</testSQL>
<testBeforeUse>false</testBeforeUse>
<testAfterUse>false</testAfterUse>
<minConnections>5</minConnections>
<maxConnections>25</maxConnections>
<connectionTimeout>1.0</connectionTimeout>
</defaultProvider>
</database>
<jdbcProvider>
<connectionString>jdbc:mysql://127.0.0.1/dbname?user=dbuser&password=dbpass!</connectionString>
</jdbcProvider>
<provider></provider>
<setup>true</setup>
<admin>
<authorizedUsernames>cheng</authorizedUsernames>
</admin>
</jive>我不知道为什么会发生这种情况,而且error.log也不是很直观。我该去哪里找这个?谢谢。
发布于 2014-09-24 23:32:56
我发现openfire 3.9.3不再需要修改XML。我用来执行auth JDBC连接的惟一东西是我在ofProperty表中所做的更改。那是我做的唯一一件事。当我进行这些更改时,XML文件会在服务器重置时自行修改。
我希望这对其他人有帮助。谢谢。
https://stackoverflow.com/questions/25983422
复制相似问题