Задача: создать объект в контексте биллинга, доступный из любого скрипта.
SingletonНапример, у нас используется собственный брокер ActiveMQ для взаимодействия с внешней CRM и т.п.
Устанавливать коннект к брокеру в каждом скрипте, где он нужен - долго. Потому поступаем так:
Код:
Setup setup = Setup.getSetup();
Connection connection = (Connection) setup.getObject("myJMSConnection");
if(connection==null){//Если объект ещё не создан (первое обращение) - создаём его
String url = setup.get("custom.activemq.url","");
String user = setup.get("custom.activemq.user","");
String password = setup.get("custom.activemq.password","");
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, url);
connection = connectionFactory.createConnection();
connection.start();
setup.putObject("myJMSConnection", connection);
}
В общем виде любой объект можно запихать в глобальный контекст:
Код:
Setup setup = Setup.getSetup();
MySingleton s = (MySingleton)setup.getObject("mySingleton");
В радиус-сервере будет:
Код:
RadiusSetup setup = RadiusSetup.getSetup();
MySingleton s = (MySingleton)setup.getObject("mySingletone");
Если вы ничего не поняли, значит оно вам ещё не нужно
