-3

如果 oracle.exe 正在运行,则 Glassfish 服务器会出错并且不会启动。

我曾尝试更改 Glassfish 服务器的端口号,但这无济于事。

我想在需要 Glassfish 服务器的 Java Web 应用程序中使用 Oracle 10g 数据库,因此我将不胜感激任何解决方案。

4

1 回答 1

7

Oracle XE 的 XML DB (XDB) 的嵌入式 HTTP 侦听器可能与 Glassfish 的 HTTP 端口发生冲突。

您需要更改默认端口 8080 以避免冲突。

更改 Oracle XE 的 HTTP 侦听器端口

这记录在Oracle XE 文档中。必须执行以下步骤:

  1. SQLPLUS /NOLOG(在不登录的情况下启动 SQLPlus)
  2. CONNECT SYSTEM/password(以 SYSTEM 身份连接;您需要提供适当的密码)
  3. EXEC DBMS_XDB.SETHTTPPORT(nnnn);(将新端口值替换为nnnn)。

更改 Glassfish 实例的 HTTP 侦听器端口

这假设 Glassfish 3.1。您可以使用asadmin执行此操作,通过类似于 asadmin 中的以下命令:

set server.http-service.http-listener.http-listener-1.port=nnnn

您需要替换新的端口号。

您还可以在 Glassfish 域配置文件中修改端口值的值$GLASSFISH_INSTALL/glassfish/domains/domain1/config/domain.xml。您需要编辑“http-listener-1”的条目并将端口从 8080 更改为另一个值:

<network-listeners>
    <network-listener port="8080" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener>
    <network-listener port="8181" protocol="http-listener-2" transport="tcp" name="http-listener-2" thread-pool="http-thread-pool"></network-listener>
    <network-listener port="4848" protocol="admin-listener" transport="tcp" name="admin-listener" thread-pool="admin-thread-pool"></network-listener>
</network-listeners>
于 2011-06-21T18:54:17.237 回答