案例:已将消息传递appln部署到JBOSS 6.1.1服务器。为不同的环境设置不同的队列名称。是否有任何方法可以从配置文件而不是Queuenames中读取队列名称和详细信息
此致 Sucheta
答案 0 :(得分:0)
您可以将properties
文件放在服务器的根目录中。在FileInputStream
内访问它并在MDB
课程中进行设置。
创建一个单例类并从该类中读取属性:
public class EnvironmentProperties {
private static final EnvironmentProperties INSTANCE = new EnvironmentProperties();
private Properties props = null;
private Log log = LogFactory.getLog(EnvironmentProperties.class);
private EnvironmentProperties() {
loadProperties();
}
public static EnvironmentProperties getInstance() {
return INSTANCE;
}
public String getJmsName() {
return props.getProperty("jms.name");
}
public String getJmsQueue() {
return props.getProperty("jms.queue");
}
private Object readResolve() {
return INSTANCE;
}
private Properties loadProperties() {
props = new Properties();
try {
String filePath = new File("./config.properties").getCanonicalPath();
FileInputStream fis = new FileInputStream(filePath);
props.load(fis);
fis.close();
} catch (FileNotFoundException e) {
log.error(e.getMessage(), e);
} catch (IOException e) {
log.error(e.getMessage(), e);
}
return props;
}
}
可以访问jms /队列名称:EnvironmentProperties.getInstance().getJmsName();
确保所有服务器上都存在properties
文件