반응형
JNDI 이름에 대해 바인딩할 항목 없음
Jetty와 MariaDB를 사용하여 war 파일을 배포하려고 하는데 도커 구성 파일을 사용할 것을 요청합니다.
이건 제 도커작곡입니다.
version: '3'
services:
MariaDB:
image: mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: user
MYSQL_PASSWORD: user
MYSQL_DATABASE: devopsdblocal
jetty:
image: jetty
depends_on:
- "MariaDB"
ports:
- "8080:8080"
volumes:
- ./target/deploy.war:/var/lib/jetty/webapps/root.war
이것은 나의 web.xml 입니다.
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<resource-ref>
<res-ref-name>jdbc/devopsdblocal</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
my jetty-env.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<New id="project-db" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg>jdbc/devopsdblocal</Arg>
<Arg>
<New class="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
<Set name="url">jdbc:mysql://localhost:3306/</Set>
<Set name="username">user</Set>
<Set name="password">user</Set>
</New>
</Arg>
</New>
</Configure>
그리고 이것은 내가 받은 소스 코드에서 나온 것이고 변경할 수 없습니다.
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:comp/env");
dataSource = (DataSource) envContext.lookup("jdbc/devopsdblocal");
도커 컴포지트를 실행하려고 하면 다음 오류가 발생합니다.
자바 lang잘못된 상태 예외:이름 jdbc/devopsdblocal에 대해 바인딩할 항목이 없습니다.
저는 하루 종일 이 일에 몰두하고 있으면서 마땅한 답을 찾지 못하고 있습니다.어떤 도움이든 감사히 받겠습니다.
언급URL : https://stackoverflow.com/questions/65498496/jndi-nothing-to-bind-for-name
반응형
'programing' 카테고리의 다른 글
ASP.NET 5 / MVC 6 Ajax 모델에서 컨트롤러까지 (0) | 2023.11.01 |
---|---|
접두사가 없는 targetNamespace 및 xmlns, 차이점은 무엇입니까? (0) | 2023.11.01 |
Swift에서 문자열의 시작(접두사) 또는 끝(첨자)을 확인하는 방법 (0) | 2023.11.01 |
PHP json_encode에 여러 배열을 전달하고 jQuery로 파싱하는 방법이 있습니까? (0) | 2023.11.01 |
#1227 - 접근이 거부되었습니다. 이 작업을 위해 SUPER 권한이 필요합니다. (0) | 2023.11.01 |