Main.java
package weblogic; import java.util.Properties; import javax.naming.Context; import javax.naming.InitialContext; public class Main { public static void main(String[] args) throws Exception { bind("object","This is a object."); System.out.println(getResource("object")); } // get the resource of the specified name private static Object getResource(String jndiName) throws Exception{ Properties jndiConfig=getJndiConfig(); Context context = new InitialContext(jndiConfig); Object resource=context.lookup(jndiName); context.close(); return resource; } // bind a object to the specified name private static void bind(String jndiName,Object object) throws Exception{ Properties jndiConfig=getJndiConfig(); Context context = new InitialContext(jndiConfig); context.bind(jndiName, object); context.close(); } // get the configuration properties private static Properties getJndiConfig(){ String initialContextFactory="weblogic.jndi.WLInitialContextFactory"; String providerUrl="t3://localhost:8888"; String securityPrincipal="weblogic"; String securityCredentials="password"; Properties jndiConfig=new Properties(); jndiConfig.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory); jndiConfig.put(Context.PROVIDER_URL, providerUrl); // jndiConfig.put(Context.SECURITY_PRINCIPAL, securityPrincipal); // jndiConfig.put(Context.SECURITY_CREDENTIALS, securityCredentials); return jndiConfig; } }
getJndiConfig()方法中提供了初始化Context的property配置。
属性名 | 属性说明 |
Context.INITIAL_CONTEXT_FACTORY | 指定InitialContext的实现类名称。这里使用weblogic作为服务器。所以相应的值为weblogic.jndi.WLInitialContextFactory。 |
Context.PROVIDER_URL | 连接jndi服务器的url。这里weblogic运行在本机,并且端口号为8888。所以值设置为t3://localhost:8888。 |
Context.SECURITY_PRINCIPAL | 通过jndi访问指定resource的凭证名称。简单理解为访问这个resource时的用户名。如果这个resource没有设定访问策略,则可以不设。 |
Context.SECURITY_CREDENTIALS | 通过jndi访问指定resource时与凭证相对应的密码。简单理解为访问这个resource时与用户名相对应的密码。如果这个resource没有设定访问策略,则可以不设。 |
getJndiConfig()有以下2行注释
//jndiConfig.put(Context.SECURITY_PRINCIPAL, securityPrincipal);
//jndiConfig.put(Context.SECURITY_CREDENTIALS, securityCredentials);
这是因为没有对新注册的resource{object=This is a object}设置访问策略。
通过以下步骤可以在weblogic10.3中对某一个resource设置访问策略。
1) 登录weblogic
2) 切换到指定server
3)打开jndi配置页面
4)择选新注册的resource,切换到sercurity页。
1
5) 选择Policies页,单击Add Conditions
6)Predicate List 选择User,单击Next
7)User Argument Name 填写Weblogic(这是我登录weblogic的一个用户名),点击Add按钮,点击Finish
8)最终点击Save,会出现保存成功信息
通过以上步骤为名称为object的resource设定了访问策略。如果通过api访问这个resoucre,
必须提供Context.SECURITY_PRINCIPAL,Context.SECURITY_CREDENTIALS。
及以上示例只需要重新启用注释的那2行代码。
相关推荐
对于开发者而言,理解和熟练运用WebLogic Server下的JNDI服务是构建高效、可扩展的企业级Java应用的关键技能之一。通过提供的"Weblogic Server下的JNDI.pdf"文档,你可以深入学习WebLogic JNDI的使用、配置和最佳...
总结,WebLogic 8 API提供了丰富的工具和接口,使得开发者能够充分利用WebLogic Server的功能,包括管理、JNDI、JDBC事务、Servlet、JCA、EJB以及安全性等方面。理解并熟练运用这些API,将有助于构建高效、稳定和...
### WebLogic Cluster配置与应用程序发布详解 #### 一、引言 随着企业级应用的不断发展,高可用性和负载均衡成为了IT系统设计中的关键需求之一...希望本文能够帮助读者更加全面地理解和运用WebLogic Server集群技术。
1. **配置JNDI数据源**:在应用服务器(如Tomcat、WebLogic等)的配置文件中定义一个数据源,并将其绑定到JNDI上下文中。这样,应用可以通过JNDI名称来查找和获取数据库连接。 2. **查找数据源**:在Java代码中,...
【Weblogic部署】是企业级Java应用服务器Oracle WebLogic Server的部署过程,它涉及了Java EE应用程序在Weblogic ...通过深入理解和熟练运用这些知识点,开发者能够有效地在Weblogic平台上部署和管理复杂的企业级应用。
了解Java Naming and Directory Interface (JNDI)也是关键,JNDI作为一个服务,提供了一个查找和访问各种命名和目录服务的统一接口。 课程内容还涵盖了应用程序的部署,包括WAR、EAR文件的部署方式,以及如何配置和...
3. **连接工厂配置**:定义连接工厂以连接到JMS服务器,这通常涉及到设置JNDI名称,以便于在应用程序中查找和使用。 4. **部署和测试Demo**:将包含JMS客户端代码的应用程序部署到Weblogic服务器上,然后运行示例,...
在Java EE应用服务器的世界里,WebLogic Server是一款广泛使用的中间件,而weblogic.xml是其核心配置文件之一,它定义了在WebLogic环境中运行Web应用程序的各种参数和行为。本文将深入探讨weblogic.xml的部署描述符...
6. **JMS与JNDI**: WebLogic支持Java消息服务(JMS),可用于异步通信;Java命名和目录接口(JNDI)用于查找和绑定资源。 二、WebLogic集群 1. **集群概念**: 集群是一种高可用性和可扩展性的解决方案,通过将多个...
在IT领域,尤其是在企业级...WebLogic 10.3的性能调优是一个复杂而细致的过程,需要结合具体的应用场景和业务需求,通过综合运用上述提到的各项策略和技术,逐步优化系统性能,最终实现业务目标和用户体验的双重提升。
通过本教程的"weblogic配置.exe"和"JBuilder中配置weblogic服务.exe"这两个视频文件,学习者可以更直观地了解和掌握上述步骤,从而更好地运用Weblogic和JBuilder进行企业级Java应用的开发与管理。在实际操作中,建议...
4. **资源管理**:WebLogic允许管理和监控数据库连接池、JMS消息队列、JNDI命名和目录服务等资源,确保高效使用和优化配置。 5. **性能监控与诊断**:WebLogic提供了丰富的管理工具,如WebLogic控制台和WLST...
**JNDI解析** Java Naming and Directory Interface (JNDI) 是Java平台提供的一种标准接口,用于访问命名和目录服务。这些服务可以帮助Java应用程序查找、...理解并熟练运用JNDI对于开发复杂的分布式系统至关重要。
### WebLogic培训讲义知识点详解 #### 一、分布式系统及其意义 ...通过学习这些知识点,可以更好地理解和运用WebLogic Server在实际项目中的应用场景和技术优势。对于分布式系统的设计和实现有着重要的指导意义。
从给定的文件信息来看,主要涉及了WebLogic配置中的数据库连接池设置、JNDI(Java Naming and Directory Interface)资源查找以及通过JSP(Java Server Pages)处理数据库查询结果等知识点。 ### WebLogic数据库...
WebLogic Server 11g是Oracle公司的一款企业级Java应用服务器,它提供了全面的Java EE(Enterprise Edition)支持,用于构建、...无论是在Windows还是Linux环境下,都能根据实际情况灵活运用这些知识来满足业务需求。
4. **数据源管理**:通过JNDI(Java Naming and Directory Interface),WebLogic可以方便地管理和连接到数据库,例如存储用户信息和音乐资源的数据库。 【数据库】 音乐网站的数据库是存储用户信息、歌曲元数据、...
第二部分则深入探讨了JSF RI(Reference Implementation)、JTA(Java Transaction API)、JNDI(Java Naming and Directory Interface)、RMI(Remote Method Invocation)、JMS(Java Message Service)、JavaMail...
这些代码可能涵盖了J2EE的各种核心组件,例如Servlet、JSP、EJB、JMS(Java Message Service)和JNDI(Java Naming and Directory Interface)等。通过分析和运行这些代码,读者可以学习到如何在实际项目中运用这些...