Skip to content

Commit ea9c1a3

Browse files
committed
QConfig register its configuration with the NR
Q2 pushes Configuration objects to Configurable QBeans, but in situations where non Q2 code has to be used (i.e. servlets) this QConfig service allow us to 'pull' the configuration by locating the Configuration object in the NameRegistrar. We suggest to avoid using this when possible as the push configuration is usually better. [ci skip]
1 parent 3157395 commit ea9c1a3

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
* jPOS Project [http://jpos.org]
3+
* Copyright (C) 2000-2014 Alejandro P. Revilla
4+
*
5+
* This program is free software: you can redistribute it and/or modify
6+
* it under the terms of the GNU Affero General Public License as
7+
* published by the Free Software Foundation, either version 3 of the
8+
* License, or (at your option) any later version.
9+
*
10+
* This program is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
* GNU Affero General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU Affero General Public License
16+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17+
*/
18+
19+
package org.jpos.q2.qbean;
20+
21+
import org.jpos.core.Configuration;
22+
import org.jpos.q2.QBeanSupport;
23+
import org.jpos.util.NameRegistrar;
24+
25+
@SuppressWarnings("unused")
26+
public class QConfig extends QBeanSupport {
27+
public static final String PREFIX = "config.";
28+
29+
@Override
30+
protected void initService() {
31+
NameRegistrar.register(PREFIX + getName(), cfg);
32+
}
33+
34+
@Override
35+
protected void destroyService() {
36+
NameRegistrar.unregister (PREFIX + getName());
37+
}
38+
public static Configuration getConfiguration (String name)
39+
throws NameRegistrar.NotFoundException
40+
{
41+
return (Configuration) NameRegistrar.get(PREFIX + name);
42+
}
43+
}

jpos/src/main/resources/org/jpos/q2/QFactory.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ transaction-manager=org.jpos.transaction.TransactionManager
99
qmux=org.jpos.q2.iso.QMUX
1010
channel-adaptor=org.jpos.q2.iso.ChannelAdaptor
1111
qexec=org.jpos.q2.qbean.QExec
12+
config=org.jpos.q2.qbean.QConfig

0 commit comments

Comments
 (0)