Tomcat usando Oracle BC4J

2 respostas
andre_guitar7

Olá,

Estou tentando migrar um sistema que utiliza o iAS da Oracle para o Tomcat. A princípio esse sistema funciona também no Glassfish, mas gostaria que funcionasse também no Tomcat.

Creio que o que falta, e é justamente o que não consigo fazer, é uma conexão JNDI. Estou desde ontem me batendo, tentando várias formas, por exemplo:

- Dentro da tag GlobalNamingResources, no server.xml coloquei:

<Resource name="jdbc/<meu_data_source>"
       auth="Container"
       type="oracle.jdbc.pool.OracleDataSource"
       driverClassName="oracle.jdbc.driver.OracleDriver"
       factory="oracle.jdbc.pool.OracleDataSourceFactory"
       url="<url>"
       user="<user>"
       password="<senha>"
       maxActive="20"
       maxIdle="10"
       maxWait="-1" />

- Dentro da tag Context da server.xml, coloquei:

<Resource name="jdbc/<meu_data_source>" auth="Container" type="oracle.jdbc.pool.OracleDataSource"
                driverClassName="oracle.jdbc.driver.OracleDriver"
                url="<url>"
                username="<user>" password="<senha>"
                maxActive="5" maxIdle="2" maxWait="-1"/>

- No arquivo context.xml, coloquei:

<Resource name="jdbc/<meu_data_source>" auth="Container" type="oracle.jdbc.pool.OracleDataSource"
        driverClassName="oracle.jdbc.driver.OracleDriver"
        url="<url>"
        username="<user>" password="<senha>"
        maxActive="5" maxIdle="2" maxWait="-1"/>
    
    <ResourceLink global="jdbc/<meu_data_source>" name="jdbc/<meu_data_source>" type="oracle.jdbc.pool.OracleDataSource"/>

Aparece sempre o erro no console ao iniciar o sistema:

JBO-30003: O pool de aplicações (org.ici.ged.ge.business.custom.modules.LogonModuleLocal) falhou ao fazer o checkout de um módulo de aplicação devido à seguinte exceção:
oracle.jbo.JboException: JBO-29000: JBO-27200: Falha de JNDI. Não é possível pesquisar Origem de Dados no contexto jdbc/gedDataSource
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2002)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2793)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:453)
    at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:233)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:424)
    at oracle.jbo.html.struts11.BC4JRequestProcessor.initPageFromPath(BC4JRequestProcessor.java:251)
    at oracle.jbo.html.struts11.BC4JRequestProcessor.processMapping(BC4JRequestProcessor.java:133)
    at org.ici.action.GeneralRequestProcessor.process(GeneralRequestProcessor.java:32)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:619)
## Detail 0 ##
oracle.jbo.DMLException: JBO-27200: Falha de JNDI. Não é possível pesquisar Origem de Dados no contexto jdbc/gedDataSource
    at oracle.jbo.server.DBTransactionImpl.lookupDataSource(DBTransactionImpl.java:1448)
    at oracle.jbo.server.DBTransactionImpl2.connectToDataSource(DBTransactionImpl2.java:274)
    at oracle.jbo.common.ampool.DefaultConnectionStrategy.connect(DefaultConnectionStrategy.java:184)
    at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolConnect(ApplicationPoolMessageHandler.java:478)
    at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:367)
    at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7769)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4074)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2161)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1961)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2793)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:453)
    at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:233)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:424)
    at oracle.jbo.html.struts11.BC4JRequestProcessor.initPageFromPath(BC4JRequestProcessor.java:251)
    at oracle.jbo.html.struts11.BC4JRequestProcessor.processMapping(BC4JRequestProcessor.java:133)
    at org.ici.action.GeneralRequestProcessor.process(GeneralRequestProcessor.java:32)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:619)
## Detail 0 ##
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
    at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
    at org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at oracle.jbo.server.DBTransactionImpl.lookupDataSource(DBTransactionImpl.java:1434)
    at oracle.jbo.server.DBTransactionImpl2.connectToDataSource(DBTransactionImpl2.java:274)
    at oracle.jbo.common.ampool.DefaultConnectionStrategy.connect(DefaultConnectionStrategy.java:184)
    at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolConnect(ApplicationPoolMessageHandler.java:478)
    at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:367)
    at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7769)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4074)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2161)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1961)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2793)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:453)
    at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:233)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:424)
    at oracle.jbo.html.struts11.BC4JRequestProcessor.initPageFromPath(BC4JRequestProcessor.java:251)
    at oracle.jbo.html.struts11.BC4JRequestProcessor.processMapping(BC4JRequestProcessor.java:133)
    at org.ici.action.GeneralRequestProcessor.process(GeneralRequestProcessor.java:32)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:619)
30/09/2010 14:36:50 oracle.adf.share.config.ADFConfigFactory findOrCreateADFConfig
INFO: oracle.adf.share.config.ADFConfigFactory No META-INF/adf-config.xml found

No Glassfish foi fácil configurar e fazer funcionar o sistema. No Tomcata tá muito difícil.

Alguma dica???

2 Respostas

rod

Você está fazer o start/stop do Tomcat pelo Eclipse?

Se sim, da uma olhada nas configurações do servidor tomcat no eclipse, porque por default ele cria outros arquivos de configuração para o tomcat.

andre_guitar7

rlazoti:
Você está fazer o start/stop do Tomcat pelo Eclipse?

Se sim, da uma olhada nas configurações do servidor tomcat no eclipse, porque por default ele cria outros arquivos de configuração para o tomcat.

Então, eu fiz todos esses passos que citei tanto no tomcat do Eclipse, quanto diretamente nele, por fora do Eclipse.

É muito estranho não funcionar.

Criado 30 de setembro de 2010
Ultima resposta 30 de set. de 2010
Respostas 2
Participantes 2