jndi

Failed to obtain JDBC Connection when using spring with jndi on liberty

岁酱吖の 提交于 2020-04-30 14:05:27
问题 When running load-test when running the application on liberty, and getting the datasource from liberty via JNDI, the test fails after a minute or so with the exception: Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: J2CA0045E: Connection not available while invoking method createOrWaitForConnection for resource jdbc/MY_JNDI_NAME. Timed out waiting for 30,000 millisecond(s)

Client call to EJB error: javax.naming.NoInitialContextException

强颜欢笑 提交于 2020-04-30 08:45:31
问题 Calling my EJB from class Main: MyService myService = (MyService) ctx.lookup(MyService.class.getName()); Gives error: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313) at javax.naming.InitialContext

详解JNDI的lookup资源引用java:/comp/env

情到浓时终转凉″ 提交于 2020-04-07 13:54:32
ENC 的概念: The application component environment is referred to as the ENC, the enterprise naming context. 应用组件的业务逻辑应该是 ENC中取得对象。组件提供者使用标准的部署描述符指定必需的ENC入口。这些ENC入口是运行时组件所依赖的资源等信息。 一个应用组件实例使用 JNDI定位ENC。ENC的标准JNDI CONTEXT是:java;/comp/env // Obtain the application component's ENC Context iniCtx = new InitialContext(); Context compEnv = (Context) iniCtx.lookup("java:comp/env"); env 环 境是一个私有的环境,只能在该组件内部存取。对其它组件是不可见的。比如,EJB1不能存取EJB2的ENV。同样,任何一个客户端代码,不管它是运行在 应用服务器的同一个JVM内或者是远程调用,均不能访问这些JNDI。这样的话,组件之间是相互隔离的,不同组件之间可以定义它自己的环境参数。比如 EJB1可以定义自己的环境变量参数:java:comp/env/red 1 、JBOSS的命名空间: 比如一个命名: java:comp/env

JNDI数据源局部配置(解决Cannot create JDBC driver of class '' for connect URL 'null')

孤街醉人 提交于 2020-04-06 10:10:33
最开始,我是借鉴 孤傲苍狼 的JNDI教程去做的,他讲得很详细,但是坏处也就是因为他讲的太详细。查了很多书,都是建议说不要用全局去配置JNDI,一是要修改tomcat的server.xml,容易破坏tomcat ,其次是那样吃力不讨好。我是建议用局部变量就好的。 1.步骤一:学习配置JNDI之前,介绍你一定要先掌握tomcat的配置虚拟目录(可以去看 Tomcat中主目录配置与虚拟目录配置问题 这样的文章,也可以去我的 tomcat配置虚拟目录 -思维焦点网易博客 找类似的链接)。学习了tomcat的配置虚拟目录后你就知道了为什么要在 tomcat安装目录\conf\Catalina\localhost 下创建.xml文件。 2.步骤二: 开始通过局部配置JNDI(这个教程也只讲局部配置)。 下面会附上代码,标注颜色的,你要根据自己的实际情况改一下。 3.步骤三:最后通过tomcat的startup.bat启动和用电脑的浏览器是可以看到成功连接数据源和驱动的,但是用eclipse启动tomcat就不能了,总是提示Cannot create JDBC driver of class '' for connect URL 'null'问题 ,后来找到了 tomcat+mysql问题,找不到jdbc驱动? ,说是jdbc for mysql除了mysql-connector-java-3

weblogic-CVE-2020-2551-IIOP反序列化学习记录

老子叫甜甜 提交于 2020-03-25 17:30:13
CORBA: 具体的对CORBA的介绍安全客这篇文章 https://www.anquanke.com/post/id/199227 说的很详细,但是完全记住是不可能的,我觉得读完它要弄清以下几个点: 1.什么是CORBA? CORBA全称(Common ObjectRequest Broker Architecture)也就是 公共对象请求代理体系结构 ,是OMG(对象管理组织)制定的一种标准的面向对象应用程序体系规范。其提出是为了解决不同应用程序间的通信,曾是分布式计算的主流技术。 2.CORBA能干什么? 实现远程对象的调用 3.CORBA分为几部分? naming service //个人感觉类似于RMI的注册表服务 client side servant side 4.CORBA的通信流程是怎样的? 从大体上了解通信流程是怎样的,这里借用里面的图: 1.启动orbd作为naming service,会创建name service服务。 2.corba server向orbd发送请求获取name service,协商好通信格式 3.orbd返回保存的name service 4.corba server拿到name service后将具体的实现类绑定到name service上,这个时候orbd会拿到注册后的信息,这个信息就是IOR。 5.corba

JDBC、JNDI和DBCP的区别

感情迁移 提交于 2020-03-22 07:41:04
JDBC、JNDI和DBCP的区别 https://www.cnblogs.com/lsdb/p/7151779.html JDBC:Java DataBase Connectivity,java连接数据库和执行SQL语句的API。 数据源:Data Source。就是将IP、数据库、用户名、密码封装起来对外只提供一个JNDI名称,在应用中只要调用这个JNDI就能连接数据库,而不需要在代码中写入用户名密码等信息。这样做的好处是,当用户名密码乃至数据库变化时只需要去修改JNDI的xml文件而不需要去修改代码。 JNDI:Java Naming and Directory Interface,Java命名和目录接口。JNDI是指使用数据源连接数据库的这种方式,简单地,可以将JNDI理解为所有Data Source的集合。 DBCP:DataBase Connection Pool,数据库连接池。数据连接池就是连接数据库的进程的集合。一般的SQL 执行都是“建立数据库连接--执行SQL--关闭数据库连接”,对于频繁连接数据库应用,这样反复“建立连接--关闭连接”是非常耗系统资源的。 数据源、JNDI、DBCP都是在中间件配置维护而不是在应用代码中配置维护的。 JDBC:Java DataBase Connectivity,java连接数据库和执行SQL语句的API。 数据源:Data

tomcat配置jndi连接数据库(druid连接池)

依然范特西╮ 提交于 2020-03-08 21:17:18
tomcat配置jndi连接数据库(druid连接池) 1、将驱动包复制到tomcat安装目录下的lib文件夹 druid-1.1.9.jar log4j-1.2.17.jar 2、在tomcat安装目录下conf/context.xml文件加入一个Resource <Resource name="vtas" factory="com.alibaba.druid.pool.DruidDataSourceFactory" auth="Container" type="javax.sql.DataSource" url="jdbc:oracle:thin:@//txn-cluster:1521/shqhtxn" driverClassName ="oracle.jdbc.driver.OracleDriver" username="abc" password="123456" initialSize = "30" maxActive="200" minIdle="30" maxWait="-1" testOnBorrow="true" validationQuery="select 1 from dual" connectionProperties = "config.decrypt=false" filters= "config,stat,wall" /> 3

Guice: Using parameter in Module (JndiIntegration)

假如想象 提交于 2020-03-05 09:58:26
问题 I've a module like this public class JNDITransactionModule implements Module{ @Override public void configure(Binder binder) { binder.bind(TransactionManager.class) .toProvider( JndiIntegration.fromJndi( TransactionManager.class, "URI TO TRANSACTION MANAGER")) .in(Scopes.SINGLETON); } } Well, I think my question is easy, but... how can I parametrize the "URI TO TRANSACTION MANAGER" value?? I mean, something like this public class JNDITransactionModule implements Module{ @Override public void

春眠不觉晓,RCE知多少?

一个人想着一个人 提交于 2020-03-03 17:32:05
前言 读者受众:所有人 阅读要求:30mins 文章中2620还没写完,清水川崎大佬就爆2634了,据说他还藏了很多个0day RCE 简单案例分析RCE    通过Java执行系统命令,与cmd中或者终端上一样执行shell命令,最典型的用法就是使用Runtime.getRuntime().exec(command)或者new ProcessBuilder(cmdArray).start()。 //漏洞源码 public String CommandExec ( HttpServletRequest request ) { String cmd = request . getParameter ( "cmd" ) . toString ( ) ; Runtime run = Runtime . getRuntime ( ) ; String lineStr = "" ; try { Process p = run . exec ( cmd ) ; BufferedInputStream in = new BufferedInputStream ( p . getInputStream ( ) ) ; BufferedReader inBr = new BufferedReader ( new InputStreamReader ( in ) ) ; String tmpStr ;

struts2+hibernate3.2+spring2.5+tomcat6+sqlserver2000+jndi配置

狂风中的少年 提交于 2020-03-02 08:31:34
搞了两天的东西原来只有几行代码,就解决问题了,真是让自己啼笑皆非。折腾了1天之久,不想后面的朋友继续走上我的错误之路,把过程给贴出来。 1、添加struts2&&hibernate3.2&&spring2.5 所需jar包,注意还要添加struts2-spring-plugin-2.1.8.1.jar。 2、删除冲突asm2.23.jar 3、 添加jdbc驱动.jar添加到 %tomcat%/lib 下 4、修改%tomcat%/cfg/context.xml文件在<Context>中添加 <Resource name="jdbc/sql_jndi" auth="Container" type="javax.sql.DataSource" password="" username="sa" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost:1433;DatabaseName=taiji_xlg" maxActive="100" maxIdle="30" maxWait="5000"/> 具体数据库自行修改。 5、在WEB-INF/web.xml中添加 <resource-ref> <description>demo</description>