This discussion is archived
2 Replies Latest reply: Dec 1, 2013 12:06 AM by Fernando Santucci RSS

How to disabling Oracle DB Internal Apex Servlet?

Fernando Santucci Newbie
Currently Being Moderated

I installed the follow softwares:

  1. Microsoft Windows XP
  2. Oracle Database 11g r2 Express Edition 32 bits
  3. SQL Developer 3.2
  4. Apex 4.2.3 upgraded ok
  5. Glassfish Server Open Source Edition 4.0
  6. Apex Listener 2.0.5

 

My CRM Application just is running properly on Apex.

 

I already configured the Apex Listener Standalone and already create the [apex] and [i] applications into Glassfish Console, as well as users and passwords to APEX_PUBLIC_USER, APEX_REST_PUBLIC_USER and APEX_LISTENER. I already logged in with Apex Listener into SQL Developer 3.2.3.

 

The Glassfish console is runnning properly on [http://localhost:4848], but on [http://localhost:8080/apex] the internal Servlet and XML DB of Oracle Database [C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\jlib\servlet.jar] is running the Apex and I can't use the Glassfish. How the Oracle Database XE not comes with Enterprise Manager Web Admin Console, I don't need of this Java Servlet Container internal.

 

I tryed change the Glassfish port to 8090 but not work, and I don't need 2 web servers running in memory RAM.

 

How to disabling Oracle DB Internal Apex Servlet to use Glassfish on port 8080?

 

Thanks in advance.

 

Kind regards,

 

Fernando Santucci

  • 1. Re: How to disabling Oracle DB Internal Apex Servlet?
    Fernando Santucci Newbie
    Currently Being Moderated

    Well,

     

    /* I change the port from 8080 to 8090 for

         XDB - Oracle XML Database or

         EPG - Embedded PL/SQL Gateway, or

         HTTP Service or

         Java Servlet Container of Apex */

    execute DBMS_XDB.SetHttpPort(8090);

     

    Now I managed disable the Oracle XML Database (XDB) with this system parameters:

     

    See 'Configuring Oracle Database for Shared Server' in the DBA Guide

    http://docs.oracle.com/cd/B28359_01/server.111/b28310/manproc003.htm

     

    -- Monitor of SHARED_SERVERS and DISPATCHERS

    select * from v$shared_server;

    select * from v$shared_server_monitor;

    select service, listener, network from v$dispatcher_config;

    select name, network from v$dispatcher;

     

    -- Disable SHARED_SERVERS and DISPATCHERS

    alter system set SHARED_SERVERS = 0;

    alter system set MAX_SHARED_SERVERS = 0;

    alter system set DISPATCHERS = '';

    alter system shutdown immediate 'D000'; -- Search the name of DISPATCH before.

     

    -- I stop and start the Oracle Database service and there is no XDB on port 8080 anymore, only Glassfish.

    net stop OracleXETNSListener

    net stop OracleServiceXE

    net start OracleServiceXE

    net start OracleXETNSListener

     

    I keep accessing very well the Glassfish Admin Console in [http://localhost:4848] and the default Glassfish "index.html" static home page in [http://localhost:8080].

     

    However in [http://localhost:8080/apex] I get the follow error:

     

    [2013-11-30T01:56:27.899-0200] [glassfish 4.0] [WARNING] [] [javax.enterprise.web] [tid: _ThreadID=18 _ThreadName=http-listener-1(1)] [timeMillis: 1385783787899] [levelValue: 900] [[

      StandardWrapperValve[HttpEndPoint]: Servlet.service() for servlet HttpEndPoint threw exception

    java.lang.ExceptionInInitializerError

    at oracle.dbtools.rt.jdbc.DatabaseConnectionFilter.poolInfo(DatabaseConnectionFilter.java:90)

    at oracle.dbtools.rt.jdbc.DatabaseConnectionFilter.applyDatabaseConnectionInfo(DatabaseConnectionFilter.java:135)

    at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:122)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)

    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)

    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)

    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)

    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)

    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)

    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)

    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)

    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)

    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)

    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)

    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)

    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)

    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)

    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)

    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)

    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)

    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)

    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)

    at java.lang.Thread.run(Thread.java:724)

    Caused by: java.lang.RuntimeException: java.text.ParseException: Unparseable date: "2013-11-29T04:55:05,672-0000"

    at oracle.dbtools.common.util.Timestamps.valueOf(Timestamps.java:87)

    at oracle.dbtools.common.config.db.UrlMappings$Builder$1PoolFilter.startElement(UrlMappings.java:233)

    at oracle.dbtools.common.x3p.MatchFilter.startElement(MatchFilter.java:54)

    at oracle.dbtools.common.x3p.impl.Event.invoke(Event.java:52)

    at oracle.dbtools.common.x3p.impl.Chain$EventIterator.advance(Chain.java:125)

    at oracle.dbtools.common.x3p.impl.Chain$EventIterator.advance(Chain.java:79)

    at oracle.dbtools.common.util.AbstractIterator._advance(AbstractIterator.java:89)

    at oracle.dbtools.common.util.AbstractIterator.next(AbstractIterator.java:47)

    at oracle.dbtools.common.x3p.impl.X3PReaderAdaptor.next(X3PReaderAdaptor.java:34)

    at oracle.dbtools.common.config.db.UrlMappings$Builder.read(UrlMappings.java:203)

    at oracle.dbtools.common.config.db.UrlMappings.existing(UrlMappings.java:127)

    at oracle.dbtools.common.config.db.UrlMappings.urlMappings(UrlMappings.java:155)

    at oracle.dbtools.common.config.db.DatabasePoolConfig.<clinit>(DatabasePoolConfig.java:327)

    ... 31 more

    Caused by: java.text.ParseException: Unparseable date: "2013-11-29T04:55:05,672-0000"

    at java.text.DateFormat.parse(DateFormat.java:357)

    at oracle.dbtools.common.util.Timestamps.valueOf(Timestamps.java:85)

    ... 43 more

    ]]

     

    I find out this damn of date timestamp is into the configuration file [C:\Documents and Settings\fernandosantucci\Local Settings\Temp\apex\url-mapping.xml] with follow content:

     

    <?xml version="1.0" encoding="UTF-8"?>

    <pool-config xmlns="http://xmlns.oracle.com/apex/pool-config">

      <pool base-path="/apex" name="XE" workspace-id="INTERNAL" updated="2013-11-29T04:55:05,672Z"/>

    </pool-config>

     

    I can't believe! One simple date crash a J2EE web application server?

     

    What happen than I can't see?

     

    Thanks in advance for any help.

     

    Kind regards,

     

    Fernando Santucci

  • 2. Re: How to disabling Oracle DB Internal Apex Servlet?
    Fernando Santucci Newbie
    Currently Being Moderated

    In compliance with ISO 8601 Date and Time Formats, a comma was in place of dot between seconds and miliseconds:

     

    Wrong:

    <pool base-path="/apex" name="XE" workspace-id="INTERNAL" updated="2013-11-29T04:55:05,672Z"/>


    Correct:

    <pool base-path="/apex" name="XE" workspace-id="INTERNAL" updated="2013-11-29T04:55:05.672Z"/>

     

    This XML code was generated by Apex Listener automaticaly. Mmmm, pitiful.

     

    Running again in [http://localhost:8080/apex], now everything work very well. The Oracle database (without Oracle XML Database), Apex, Apex Listener, Glassfish and my CRM System.

     

    Good luck!

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points