Случай. Устройства для обмена сообщениями и обмена сообщениями будут развернуты на сервере JBOSS 6.1.1. Имеют разные имена очередей для разных сред. Есть ли способ иметь имена очередей и данные, прочитанные из файла конфигурации вместо Queuenames
С уважением, Сухета
Вы можете поместить файл properties
в корень вашего сервера. Получите доступ к нему в FileInputStream
и установите его в своем классе MDB
. создать класс singleton и прочитать свойства этого класса:
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/queue: EnvironmentProperties.getInstance().getJmsName();
Убедитесь, что файл properties
существует на всех ваших серверах