0

私はこのエラーが発生し続け、オンラインで噂されている多くの修正を試しましたが、役に立ちませんでした。

例外は次のとおりです。

javax.naming.NameNotFoundException: Name java:comp 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 javax.naming.InitialContext.lookup(InitialContext.java:411)
    at my.app.database.DatabaseManager.connect(DatabaseManager.java:44)
    at my.app.database.DatabaseManager.return(DatabaseManager.java:133)
    at my.app.GenParse.GeneratePastPositions.updateSatHistory(GeneratePastPositions.java:89)
    at my.app.updateHistory.run(SatelliteEclipseServer.java:72)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)

私のリソースは次のように宣言されcontext.xmlています:

<?xml version='1.0' encoding='utf-8'?>

<!-- The contents of this file will be loaded for each web application -->
<Context reloadable="true">

    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->

    <!-- Uncomment this to enable Comet connection tacking (provides events
         on session expiration as well as webapp lifecycle) -->
    <!--
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    -->
     <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="myUsername" password="myPassword" driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://mysql.myServer.com:3306/myUserName"/>


</Context>

そして私のJavaコードの接続:

public void connect() throws SQLException, NamingException{
    initCtx = new InitialContext();
    envCtx = (Context) initCtx.lookup("java:comp/env");
    ds = (DataSource) envCtx.lookup("jdbc/TestDB");         
} 

これも原因で、本来のように接続が閉じられないと思います。エラーメッセージ以外はすべて機能していますが、このエラーは時間の経過とともに悪化し、使用可能なすべての接続を使い果たしてしまうと思います。

何週間も私を悩ませてきたので、これについていくつかの助けを本当に感謝します!

4

0 に答える 0