Tag: jndi

javax.naming.NameNotFoundException:名称未在此上下文中绑定。 无法find

我在tomcat 8.0.41上部署了一个webapp。 该webapp应该连接到一个MySQL服务器5.7。 值得一提 tomcat和mysql服务器都是作为docker-container运行的。 这就是为什么msyql-url是:“jdbc:mysql:// db:3306 / ProjectDB”。 jdcb-jar通过docker-compose添加到tomcat。 但我认为这不应该是错误的根源。 ConnectionBuilder.java package Persistence; import java.sql.Connection; import java.sql.SQLException; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; public class ConnectionBuilder { public Connection conn; public ConnectionBuilder()throws NamingException, SQLException { Context intitialContext = new InitialContext(); Context environmentContext = new InitialContext(); environmentContext = (Context) intitialContext.lookup("java:comp/env"); DataSource dataSource = […]

docker hornetQ standalone … jnp问题

我有HornetQ独立映像安装并运行在docker(centos,jdk8)容器内。 在构build映像时,我在Dockerfile中公开了端口[5445 5455 1099]。 我正试图在Mac OSX(El Capitan)主机上运行此操作。 我还确保端口绑定到本地泊坞窗运行 – 名称dc_hq-D -p 5445:5445 -p 5455:5455 -p1099:1099 dck_image_hornetq 但是,在我使用初始上下文和jnp的最简单的例子中,我得到一个错误: ConnectionFactory cf = null; Connection connection = null; Queue queue = null; String destinationName = "queue/TestQueue"; Properties p = new Properties(); p.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory"); p.put(javax.naming.Context.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces"); p.put(javax.naming.Context.PROVIDER_URL, "jnp://localhost:1099"); Context ic = new InitialContext(p); cf = (javax.jms.ConnectionFactory)ic.lookup("/ConnectionFactory"); queue = (javax.jms.Queue)ic.lookup(destinationName); 我得到以下错误: enter […]

Docker – 将Apache Tomcat Web服务器连接到MySQL服务器

我试图将运行在Apache Tomcat容器中的Web服务器连接到运行另一个容器的MySQL数据库。 为了做到这一点,我正在使用Docker的链接机制。 docker run -it –name ${CONTAINER_NAME} –link db:db -p 8080:8080 -d tomcat 运行容器后,我可以看到容器被链接,环境variables正确显示。 为了将运行在Tomcat容器中的Web应用程序连接到数据库,我使用了以下configuration文件: <Context> <Resource name="jdbc/MYDB" type="javax.sql.DataSource" auth="Container" username="user" password="password" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://${DB_PORT_3306_TCP_ADDR}:${DB_PORT_3306_TCP_PORT}/epcis?autoReconnect=true"> </Resource> </Context> 现在的问题是我无法build立到数据库的连接,因为Docker公开的环境variables在Tomcat环境中无法识别。 有一种方法可以让Docker公开的这些环境variables对Apache Tomcat环境可见吗?