草庐IT

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

我试图将在ApacheTomcat容器中运行的Web服务器连接到运行另一个容器的MySQL数据库。为此,我使用了Docker的链接机制。dockerrun-it--name${CONTAINER_NAME}--linkdb:db-p8080:8080-dtomcat运行容器后,我可以看到容器已链接并且环境变量已正确公开。为了将在Tomcat容器中运行的Web应用程序连接到数据库,我使用了以下配置文件:现在的问题是我无法建立与数据库的连接,因为Docker公开的环境变量在Tomcat环境中无法识别。有没有办法让Docker暴露的这些环境变量对ApacheTomcat环境可见?

javax.naming.NameNotFoundException : Name [jdbc/spitterDS] is not bound in this Context. 无法找到 [jdbc]

我正在尝试使用Spring的jeejndi-lookup标记访问tomcat中的JNDIdatasource。异常表明我没有正确注册我的数据源,但我无法弄清楚为什么不正确。这是我的代码:-service-context.xml:-webapp/META-INF/context.xml:-WEB-INF/web.xmlweb.xml:-SpitterSpitterDSjdbc/spitterDSorg.apache.commons.dbcp.BasicDataSourceContainercontextConfigLocationclasspath:service-context.xml

mysql - JNDI 和 javax.sql.DataSource

我过去曾从事过一些J2EE编码工作,现在我将重新投入工作,从事一个新的J2EE项目。自2001年以来发生了很多变化,所以我需要问这个非常基本的问题。我在我的数据库类中使用这样的语法:@Resource(name="jdbc/MyDatabase")privatejavax.sql.DataSourcedataSource;我知道这是一项新功能(注释),但我不太确定它是如何工作的。后来在我的课上我打了这个电话:Connectionc=dataSource.getConnection();它每次都会抛出NullPointerException。我在调试器中进行了调试,结果发现dataSou

mysql - 带有 DataSource 的 jetty-env.xml 导致 mvn jetty :run 上的 WebAppContext 失败

我有一个使用maven和jetty的非常简单的webapp项目,到目前为止一直运行良好。但是现在我需要使用JNDI设置MySQL连接池,因为数据库连接总是超时。这里首先是我的pom.xml的相关内容:4.0.0...war...UTF-88.1.0.v20120127...mysqlmysql-connector-java5.1.20org.mortbay.jettyjetty-maven-plugin${jetty-version}maven-plugin...org.mortbay.jettyjetty-maven-plugin${jetty-version}10...现在我在/s

java - LDAP 和 JNDI 的 ServiceUnavailableException

我正在使用JNDI连接到LDAP,我需要它来处理许多并发的TCP连接。所有连接都需要同时建立。神秘之处在于有时它有效,有时它只建立一些联系,例如30个中的第17个。我通过谷歌搜索看到了类似的问题,但没有人提供他们的解决方案。谢谢!堆栈跟踪:javax.naming.ServiceUnavailableException:172.16.0.xxx:389;socketclosedatcom.sun.jndi.ldap.Connection.readReply(Connection.java:464)atcom.sun.jndi.ldap.LdapClient.ldapBind(LdapC

Web攻防--JNDI注入--Log4j漏洞--Fastjson反序列化漏洞

JNDI注入什么是JNDIJNDI全称为JavaNamingandDirectoryInterface(Java命名和目录接口),是一组应用程序接口,为开发人员查找和访问各种资源提供了统一的通用接口,可以用来定义用户、网络、机器、对象和服务等各种资源。JNDI支持的服务主要有:DNS、LDAP、CORBA、RMI等。简单从安全角度来看待JNDI就是Java中的一组接口,在其所支持的服务中最常用的就是RMI和LDAP服务RMI:远程方法调用注册表LDAP:轻量级目录访问协议通过这两种协议可以使目标服务器加载远程Class文件,攻击者通过构造Class文件来达到RCE的效果在jdk中提供JDNI服

【java安全】JNDI注入概述

文章目录【java安全】JNDI注入概述什么是JNDI?JDNI的结构InitialContext-上下文Reference-引用JNDI注入JNDI&RMI利用版本:JNDI注入使用Reference【java安全】JNDI注入概述什么是JNDI?JNDI(JavaNamingandDirectoryInterface)是Java提供的Java命名和目录接口。通过调用JNDI的API可以定位资源和其他程序对象。命名服务将名称和对象联系起来,使得我们可以用名称访问对象JDNI的结构jndi的作用主要在于"定位"。比如定位rmi中注册的对象,访问ldap的目录服务等等其实就可以理解为下面这些服务

java - OSGI JNDI 是否允许与来自非 OSGI 代码的 JNDI 调用共存?

第126章OSGIEnterpriseRelease5specification提到兼容性:"SupportthetraditionalJNDIprogrammingmodelusedbyJavaSEandJavaEEclients."和使用OSGI不感知代码:"ClientsandJNDIContextprovidersthatareunawareofOSGiusestaticmethodstoconnecttotheJREJNDIimplementation.TheInitialContextclassprovidesaccesstoaContextfromaproviderand

java - JdbcOdbcDriver.finalize() 行 : 96 中的未知 NullPointerException

我正在使用JNDI加载数据源:JDK1.6.0_31Tomcat6.0.30当我启动Eclipse(IndigoSR2)调试器时,它中断:DaemonSystemThread[Finalizer](Suspended(exceptionNullPointerException))JdbcOdbcDriver.finalize()line:96Finalizer.invokeFinalizeMethod(Object)line:notavailable[nativemethod]Finalizer.runFinalizer()line:83Finalizer.access$100(Fin

java - JNDI 路径 Tomcat 与 Jboss

我在Tomcat6的context.xml中配置了DataSource作为MyDataSource。我正在通过以下方式获取它:DataSourcedataSource;try{dataSource=(DataSource)newInitialContext().lookup("java:comp/env/MyDataSource");}catch(NamingExceptione){thrownewDaoConfigurationException("DataSource'"+url+"'ismissinginJNDI.",e);}一切正常。现在我将此代码导出到JbossAP6。我将我