InitialContext和lookup(转)】的更多相关文章

http://wxg6203.iteye.com/blog/680830 最近因为工作需要开始学习Ejb3,遇到了一个让我很郁闷的事情,做一下小小的总结——小心new InitialContext(). 在做客户端的时候,发现连接服务器,搜索数据库,然后返回结果集.每一次执行的时候,第一次总要花更多的时间,之后每一次操作时间就要快很多了.期间找了很多方法,都行不通.一开始以为是Ejb服务器建立服务消耗时间,后来觉得不对,因为Jboss启动的时候,已经将服务启动了.经过一周的排查,终于发现原来是因…
原文地址:http://wxg6203.iteye.com/blog/680830 最近因为工作需要开始学习Ejb3,遇到了一个让我很郁闷的事情,做一下小小的总结——小心new InitialContext(). 在做客户端的时候,发现连接服务器,搜索数据库,然后返回结果集.每一次执行的时候,第一次总要花更多的时间,之后每一次操作时间就要快很多了.期间找了很多方法,都行不通.一开始以为是Ejb服务器建立服务消耗时间,后来觉得不对,因为Jboss启动的时候,已经将服务启动了.经过一周的排查,终于发…
Context initial = new InitialContext(); Object objref = initial.lookup("java:comp/env/ejb/SimpleConverter"); 一般情况下,intial.lookup("")中的参数就是你的JNDI名称.但是用的应用服务器,是把JNDI名放到java:comp/env/ejb/后面的.两种方式都没有错.比如: TomCat5.0中使用的是Object objref = init…
We are trying to lookup for an Local EJB in JBoss7.1, but we get an ClassCast Exception. This local lookup is between the same Server: java.lang.ClassCastException: org.jboss.ejb.client.naming.ejb.EjbNamingContext cannot be cast to com.transaction.IT…
Class loading in AS7 is considerably different to previous versions of JBoss AS. Class loading is based on the JBoss Modules project. Instead of the more familiar hierarchical class loading environment, AS7's class loading is based on modules that ha…
原文:http://www.weicoop.com/web/article/52.html 关于什么是JNDI的概念这里不做解释,本文作为初学者根据所了解到内容做些总结,主要内容如下: 1.JNDI使用描述 2.Tomcat中DataSource的配置和使用 3.Weblogic中JNDI的配置和使用 4.访问分布式JNDI的条件 1.JNDI使用描述 图1-1 根据图1-1进行一下描述: JNDI Service:J2EE容器 包括Tomcat.Jetty.Weblogic.WebSphere…
Introduction Recently our team was working on Veracity Quick Start sprint, when I was trying to migrate the JMS provider implementation from Tibco EMS to ActiveMQ. I found that there are notable differences between these two JMS implementations on th…
说到JNDI,即熟悉又陌生,熟悉在常常使用,如EJB3.0中的@EJB注入,底层实现即是JNDI的方式:喜闻乐见的: Context ctx=new InitialContext(); Object obj=(Object)ctx.lookup("java:comp/env/XXX"); 更是最经常使用的方式.说它陌生,是由于,对于JNDI,我们仅限于主要的使用,本文就是带领大家进入JNDI分析阶段. JNDI作用 以数据源为例. 未使用JNDI 假设我们没有使用JNDI,代码例如以下…
数据持久化       持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成.持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件.XML数据文件中.                                                                                 …
JNDI即Java命名和目录接口(JavaNaming and Directory Interface),它属于J2EE规范范畴,是J2EE的核心技术之一,提供了一组接口.类和关于命名空间的概念.JDNI是provider-based技术,它暴露一个API和一个服务供应接口(SPI).它将名称和对象联系起来,使我们可以用名称访问对象.我们可以把JNDI简单地看成是里面封装了一个name到实体对象的映射,通过字符串可以方便得到想要的对象资源,例如JDBC.JMail.JMS.EJB等.这意味着任何…
以下内容引自: http://blog.csdn.net/wanglha/article/details/42004695 TestNG深入理解 转载 2014年12月18日 13:56:11 参考文档:http://www.cnblogs.com/rilley/archive/2012/11/09/2762818.html 9322 TestNG annotaion: @DataProvider @ExpectedExceptions @Factory @Test @Parameters <s…
1. 调用EJB的三种方法 调用EAP 6 EJB的第一种方法,使用JBoss API,如下: Properties p = new Properties(); p.put("remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED", "false"); p.put("remote.connections", "default"); p.put…
TestNG 的注释: @DataProvider @ExpectedExceptions @Factory @Test @Parameters <suite name="ParametersTest"> <test name="Regression1"> <classes> <class name="com.example.ParameterSample" /> <class name=&q…
day18总结 今日思维导图: 今日内容 事务 连接池 ThreadLocal BaseServlet自定义Servlet父类(只要求会用,不要求会写) DBUtils à commons-dbutils   事务   事务的四大特性:ACID: mysql中操作事务 jdbc中操作事务       事务概述 为了方便演示事务,我们需要创建一个account表: CREATE TABLE account(     id INT PRIMARY KEY AUTO_INCREMENT,     NA…
理解这个漏洞需要先看freebuff上的jdni的小例子. jndi注入在jdk8u121绕过参考这俩篇文章: https://bl4ck.in/tricks/2019/01/04/JNDI-Injection-Bypass.html https://www.veracode.com/blog/research/exploiting-jndi-injections-java server端代码: import com.sun.jndi.rmi.registry.ReferenceWrapper;…
day18总结 今日思维导图: 今日内容 事务 连接池 ThreadLocal BaseServlet自定义Servlet父类(只要求会用,不要求会写) DBUtils à commons-dbutils   事务   事务的四大特性:ACID: mysql中操作事务 jdbc中操作事务       事务概述 为了方便演示事务,我们需要创建一个account表: CREATE TABLE account(     id INT PRIMARY KEY AUTO_INCREMENT,     NA…
介绍 最近把自己之前写的JNDI注入利用工具改了一下push到了github,地址:https://github.com/welk1n/JNDI-Injection-Exploit,启动后这个工具开启了三个服务,包括RMI.LDAP以及HTTP服务,然后生成JNDI链接.测试时可以将JNDI链接插入到JNDI注入相关的POC中,如Jackson.Fastjson反序列化漏洞等. 三个服务中,RMI和LDAP基于marshalsec中RMIRefServer.LDAPRefServer类修改而成,…
在java8  121版本以前,只要这样就能任意代码 rmiTest.java import javax.naming.InitialContext; import javax.naming.NamingException; public class rmiTest { public static void main(String[] args) throws IOException, NamingException { InitialContext xxx = new InitialConte…
转:http://www.cnblogs.com/jjj250/archive/2012/08/08/2628552.html 基础篇 JMS是应用系统或组件之间相互通信的应用程序接口,利用它,我们可以轻易实现在不同JVM之间相互的远程通信.要实现远程通信,RPC同样也能做到,但RPC却不可避免地增加了不同系统之间的耦合度,JMS能极大地降低不同的应用系统之间的耦合. 要学习JMS,有几个概念必须要搞清楚: l      Messaging (消息通知.消息通信) 一种应用系统或组件之间相互通信…
作者:Grey 原文地址: 语雀 博客园 Java SE 提供了三种方式,可以实现IoC,分别为: Java Beans Java ServiceLoader SPI JNDI(Java Naming and Directory Interface) Java Beans 方式 java.beans包下的 Introspector 类提供了一个 getBeanInfo的方法,可以获取一个类的信息 BeanInfo bi=Introspector.getBeanInfo(User.class,Ob…
JNDI注入基础 一.简介 JNDI(The Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API,命名服务将名称和对象联系起来,使得我们可以用名称访问对象. 这些命名/目录服务提供者: RMI (JAVA远程方法调用) LDAP (轻量级目录访问协议) CORBA (公共对象请求代理体系结构) DNS (域名服务) 二.利用方式 在JNDI中有几种利用方式,这节就来讲一下RMI的利用方式 1.RMI的利…
1 事件背景 经过一周时间的Log4j2 RCE事件的发酵,事情也变也越来越复杂和有趣,就连 Log4j 官方紧急发布了 2.15.0 版本之后没有过多久,又发声明说 2.15.0 版本也没有完全解决问题,然后进而继续发布了 2.16.0 版本.大家都以为2.16.0是最终终结版本了,没想到才过多久又爆雷,Log4j 2.17.0横空出世. 相信各位小伙伴都在加班加点熬夜紧急修复和改正Apache Log4j爆出的安全漏洞,各企业都瑟瑟发抖,连网警都通知各位站长,包括我也收到了湖南长沙高新区网警…
Java代码审计之不安全的Java代码 ​ 在打靶场的同时,需要想一下如果你是开发人员你会怎样去防御这种漏洞,而作为攻击方你又怎么去绕过开发人员的防御. 环境搭建 https://github.com/j3ers3/Hello-Java-Sec SQL注入 ​ SQLI(SQL Injection), SQL注入是因为程序未能正确对用户的输入进行检查,将用户的输入以拼接的方式带入SQL语句,导致了SQL注入的产生.攻击者可通过SQL注入直接获取数据库信息,造成信息泄漏. SQL注入之JDBC注入…
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   // O…
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   // O…
Context initial = new InitialContext();Object objref = initial.lookup("java:comp/env/ejb/SimpleConverter"); 一般情况下,intial.lookup("")中的参数就是你的JNDI名称.但是用的应用服务器,是把JNDI名放到java:comp/env/ejb/后面的.两种方式都没有错.比如:TomCat5.0中使用的是Object objref = initia…
概述 本文介绍如何从javax.naming.InitialContext中获取web容器配置的数据源. 在web开发中,常见的获取数据源的方式是把数据源定义为spring的bean,其他类通过spring注入来获取数据源.可能遇到的问题如下: 需要获取数据源的类不是spring bean,无法接收注入. 系统中没有使用spring框架. 解决问题的方法可能有很多,这里提供基于InitialContext的解决方案. 解决方案 javax.naming.InitialContext ic = n…
前言 前面几节都是讲的基础内容,本节我们讲讲索引性能优化,当对大数据进行处理时首先想到的就是索引,一旦遇到这样的问题则手忙脚乱,各种查资料,为何平常不扎实基本功呢,我们由浅入深,简短的内容,深入的理解,而非一上来就把问题给框死,立马给出解决方案,抛出问题,再到解决问题,你GET了没有.Always to review the basics. Bookmark Lookup.RID Lookup.Key Lookup定义 一说到这三者,如果对索引研究不深的童鞋估计是懵逼的,什么玩意,我们姑且将上面…
Salesforce 中 sharing rule 并不支持Look up 字段 和 formula 字段.但在实际项目中,有时会需要在sharing rule中直接取Look up型字段的值,解决方案就是在目标object上新建一个字段,写trigger,将需要获取的Lookup 字段的value 灌入新字段中(我现在就要取Product Catalog表中的External ID字段的值,当USER每次在 Clm_Presentation_vod__c 表 上insert 或者 update…
问题描述 使用Eclipse调试代码的时候,打了断点,经常出现Source not found,网上找了半天,大部分提示点击Edit Source Lookup Path,添加被调试的工程,然而往往没啥效果,一闪而过,淡淡的忧伤... 一种可能的解决办法 一种可能原因是编译的class不是最新的. 解决办法:Eclipse选择Project菜单,点击clean...,清理下工程,使之重新构建,然后打断点调试,竟然好了.…