`

(转)在jboss环境下读取.properties文件

 
阅读更多

转自

http://blog.csdn.net/nineday/article/details/1683437

 

    有时候有些常量需要根据需要作改动,如IP,port,数据库的链接URL等,一般情况下我们把这些常量放在后缀是.properties的文件里,这样既可以修改也很方便读取。下面是以jboss作服务器作的一个读取.properties的实验,很简单。
    ResourceBundle的getBundle("filename")方法会默认地到jboss的/server/conf/目录下找filename.properties文件,然后再调用ResourceBundle实例的getString("key"),通过关键字取得值。我曾经在纯jdk环境下作过同样的实验,默认会到.java的输出目录(按照习惯是bin/目录)下找filename.properties文件。

在Jboss的实验步骤如下:

(1)在jboss的/server/conf/ 下建一个属性文件--config.properties,其内容如下:
socket.ip=192.168.0.1
socket.port=60000
socket.timeout=10000

(2)读取的代码如下:

package nineday.common;

import java.util.MissingResourceException;
import java.util.ResourceBundle;
/**
 * create on 20070709
 * 
@author nineday
 *
 * to get property from file .properties
 
*/

public final class Config{

        
private static ResourceBundle configResource = null;
        
/**
         * initialization
         
*/

        
public static void initConfig(){
                
try{
                        configResource 
= ResourceBundle.getBundle("config");//file name
                }
catch(MissingResourceException mre){
                        mre.printStackTrace();
                }

        }


        
/**
         *get value
         *
@param String key
         *
@return String value
         
*/

        
public static String getValue(String key){
                
if (configResource == null) initConfig();
                
try{
                        
return new String(
                          (configResource.getString(key))
                          .getBytes(
"ISO8859_1"),"gb2312");
                }
catch(Exception e){
                        
return null;
                }

        }


}

 

(3)调用的代码:

package nineday.socketservice;

import nineday.common.Config;
import java.net.Socket;

/**
 * to provide socket service
 * 
 * 
@author nineday
 *
 
*/
public class SocketService {
 
//private static final Log log = LogFactory.getLog(SocketService.class);
 private static final String socketServerIP = Config.getValue("socket.ip");
 
private static final int socketServerPort = Integer.parseInt(Config.getValue("socket.port"));
 
private static final int socketTimeout = Integer.parseInt(Config.getValue("socket.timeout"));

 
public static Socket getSocketInstance()throws Exception{
  
//log.debug("start a new socket to "+socketServerIP+":"+socketServerPort);
  Socket socketServer = null;
  socketServer
=new Socket(socketServerIP,socketServerPort);
     socketServer.setSoTimeout(socketTimeout);
     
return socketServer;
 }
}

注意:

(1)如果文件的路径是/server/conf/folder , 载入文件的代码这样写ResourceBundle.getBundle("folder.filename"); ‘.’代表的是文件的下一层,所以文件名一定不能包含‘.’。
(2)jboss在启动的时候加载属性文件到内存,所以当我们修改属性文件,必须重启jboss才能生效。

分享到:
评论

相关推荐

    JBOSS log4j 配置

    3. 建立一个用于初始化的 InitServlet,在 init 方法指定 log4j 读取应用程序下的 log4j.properties 文件。 4. 把 jboss 的 jboss-common.jar($JBOSS-HOME/lib 目录下)复制到应用程序/WEB-INF/lib 目录下。 Log4j ...

    jboss-eap-4.3webconsole无法登录的解决方案

    - 在`C:\jboss-eap-4.3\jboss-as\server\production\deploy\management\console-mgr.sar\web-console.war\WEB-INF\classes`目录下,将`web-console-users.properties`文件中的`#admin=admin`行的注释去掉。...

    jboss日志发邮件需要替换的jar包

    在JBoss应用服务器中,日志管理是一项关键任务,它帮助开发者和系统管理员跟踪应用程序的运行状况、诊断问题以及优化性能。"jboss日志发邮件"是指通过配置JBoss来实现日志信息自动发送电子邮件的功能,这在系统监控...

    JBoss 实体Bean 及其接口的模版(实现JavaMail邮件的接收)

    在文件列表中,`MailBean.java`很可能是实体Bean的实现类,它可能包含对邮件数据的持久化操作,如保存、查找和更新邮件信息。`MailRemote.java`则是对应的远程接口,它声明了客户端可以调用的方法,例如获取未读邮件...

    java_knowledge_point.doc

    `.properties`文件在Java中常用于存储配置信息。通过`Properties`类,我们可以读取和保存这些属性。`setProperty()`方法用来设置或修改属性,但仅在内存中生效。要将更改写入文件,必须调用`store()`方法。`store()...

    JBoss Log4j

    ### JBoss Log4j知识点详解 #### 一、引言 JBoss Log4j 是一个为 JBoss 应用服务器定制的日志记录...通过学习这些知识点,您可以更深入地理解如何在 JBoss 应用服务器环境中高效地使用 Log4j 来进行日志记录和管理。

    OSCache使用文档

    - 需要配置`commons-logging.jar`和`log4j-1.2.8.jar`两个依赖库,并且在`src`目录下创建或编辑`log4j.properties`文件,以配置日志输出方式。 - 示例配置如下: ``` log4j.rootLogger=DEBUG,stdout,file log4j...

    hibernate 数据源配置文件

    接下来,我们需要在Spring的配置文件(例如`applicationContext-data.xml`)中读取这些属性,并创建相应的数据源实例。示例代码如下: ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:...

    Hibernate配置数据源.

    这种方式下,Hibernate不再直接读取具体的数据库连接信息,而是通过指向一个外部配置文件来获取这些信息。常见的外部配置文件有`application.properties`、`application.yml`等。 **示例代码:** ```properties # ...

    在Java SE中使用Hibernate处理数据

    这可以通过读取属性文件来实现,例如上面的`hibernate.properties`文件展示了基本的配置项,包括方言、驱动类、数据库连接信息和查询替换设置。 在处理数据时,Hibernate的核心组件Session和SessionFactory需要手动...

    (2.0版本)自己写的struts2+hibernate+spring实例

    数据库连接配置文件是/s2sh/src/目录下面的jdbc.properties文件.直接配置即可. <br>以下是一些相关说明. <br> 数据库脚本 create table HUBO_USER ( ID VARCHAR2(32) not null, NAME VARCHAR...

    EJB实验报告。实验一:使用Session Bean和JDBC技术完成登录和注册功能

    6. 部署Session Bean到JBoss应用服务器,确保配置文件jndi.properties正确,以便客户端能查找和调用Bean。 7. 编写客户端代码,引入必要的依赖库,通过JNDI查找并调用Session Bean的方法完成登录和注册操作。 实验...

    Hibernate 4.2.1

    在Eclipse环境下安装Hibernate 4.2.1插件,可以通过Update Site进行,这正是“Hibernate JBoss 4.2.1 Update Release”标签所指的内容。首先,需要在Eclipse的“Help” -> “Install New Software”中添加更新站点,...

    hibernate开发所依赖的jar包

    5. **交易管理**:`jta.jar`(Java Transaction API)和`jboss-transaction-api_1.1_spec.jar` - 这些库提供了事务管理功能,对于在分布式环境中处理数据一致性至关重要。 6. **反射和序列化支持**:`asm-3.3.1.jar...

    ssh(structs,spring,hibernate)框架中的上传下载

     本文选用的数据库为Oracle 9i,当然你可以在不改动代码的情况下,通过配置文件的调整将其移植到任何具有Blob字段类型的数据库上,如MySQL,SQLServer等。  总体实现  上传文件保存到T_FILE表中,T_FILE表结构...

    arquillian-config-impl-base.jar.zip

    - `ConfigurationAdapter`: 提供了读取和解析配置的抽象接口,实际的配置解析工作由具体的实现类完成,如`PropertiesConfigurationAdapter`用于处理基于properties文件的配置。 在实际使用中,开发者可以通过在`...

    JNDI (1)

    JNDI配置文档(如`JNDI配置.doc`)可能包含如何在不同应用服务器(如Tomcat、JBoss、WebLogic等)中配置JNDI资源的详细步骤,包括设置应用服务器的配置文件、编写JNDI绑定代码以及处理相关异常等内容。这些配置对于...

    Activiti6.0教程例子下载

    2. RepositoryService:Activiti中每一个不同版本的业务流程的定义都需要使用一些定义文件,部署文件和支持数据(例如BPMN2.0 XML文件,表单定义文件,流程定义图像文件等),这些文件都存储在Activiti内建的...

Global site tag (gtag.js) - Google Analytics