چگونه می توان <منبع> را در Tomcat 7 تنظیم کرد تا نیازی به استفاده از "java: / comp / env" در کد نباشد؟

من در زمینه راه اندازی منابع JNDI و تنظیم منابع JNDI در تامکت تازه وارد شده ام.

من یک برنامه سرولت را به ارث بردم. از طریق WebLogic روی یک سرور تست اجرا می شود. برنامه servlet به روش زیر به منابع پایگاه داده خود دسترسی پیدا می کند:

ctx  = new InitialContext();
ds   = (javax.sql.DataSource)ctx.lookup("myDataBaseName"); 
conn = ds.getConnection();

هنگامی که من سعی کردم در یک JSP آزمایشی کار نکند. من

javax.naming.NameNotFoundException: Name myDataBaseName is not bound in this Context

دریافت کردم اما اگر کد JSP آزمایشی را تغییر دهم ، توانستم آزمایش JSP را عملی کنم:

ctx  = new InitialContext();
Context envContext = (Context)ctx.lookup("java:/comp/env");
ds   = (DataSource)envContext.lookup("myDataBaseName");
conn = ds.getConnection();

من این ورودی را در TOMCAT_HOME / conf /text.html دارم (من فقط از آن به عنوان یک محیط توسعه استفاده می کنم روی جعبه من)

<Resource name="myDataBaseName"
        auth="Container"
        type="javax.sql.DataSource"
        driverClassName="oracle.jdbc.OracleDriver"
        url="jdbc:oracle:thin:@blahblahblah:1521:database3"
        username="joeuser"
        password="password"
        maxActive="20"
        maxIdle="30"
        maxWait="-1"/>

</Context>

و این را در TOMCAT_HOME / conf / web.xml خود دارم:

<resource-ref>
    <res-ref-name>myDataBaseName</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

من در مورد 10 صفحه stackoverflow در مورد مشکلات مرتبط خواندم ، اما با تنظیم منابع JNDI آشنایی کافی ندارم مشکل من.

چگونه می توانم نحوه تنظیم Tomcat 7 را تغییر دهم تا به برنامه servlet موجود اجازه دهد به عنوان "myDatabaseName" به پایگاه داده خود دسترسی پیدا کند؟ من گزینه تغییر کد در برنامه servlet یا تغییر روش راه اندازی WebLogic در سرور آزمایشی را ندارم.

من باید نحوه تنظیم نسخه کپی Tomcat 7 را در رایانه خود تغییر دهم (برای یک محیط توسعه دهنده) تا به برنامه servlet اجازه دسترسی به پایگاه داده خود را به سبک اولین قطعه کد نقل شده در بالای این صفحه بدهم. post.

7
задан Steve 11 July 2011 в 18:24
поделиться