summaryrefslogtreecommitdiffstats
path: root/vespaclient-core/src
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2016-10-03 11:39:05 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2016-10-03 11:39:05 +0200
commite9b22c8134ef21efeaefc235070439e4a30495e6 (patch)
tree8c1dfa33f24cb066b5963077660b9bc1becaf231 /vespaclient-core/src
parentd2707307aded3dccec0ce3a965d9d5ed4a24d8e0 (diff)
Dirty workaround to DI hostile legacy code
Diffstat (limited to 'vespaclient-core/src')
-rwxr-xr-xvespaclient-core/src/main/java/com/yahoo/feedapi/FeedContext.java25
1 files changed, 20 insertions, 5 deletions
diff --git a/vespaclient-core/src/main/java/com/yahoo/feedapi/FeedContext.java b/vespaclient-core/src/main/java/com/yahoo/feedapi/FeedContext.java
index c08d70b02f4..885e28b63a5 100755
--- a/vespaclient-core/src/main/java/com/yahoo/feedapi/FeedContext.java
+++ b/vespaclient-core/src/main/java/com/yahoo/feedapi/FeedContext.java
@@ -11,6 +11,7 @@ import com.yahoo.clientmetrics.ClientMetrics;
import com.yahoo.vespaclient.ClusterList;
import com.yahoo.vespaclient.config.FeederConfig;
+import javax.naming.OperationNotSupportedException;
import java.util.Map;
import java.util.TreeMap;
@@ -100,11 +101,25 @@ public class FeedContext {
try {
if (instance == null) {
MessagePropertyProcessor proc = new MessagePropertyProcessor(feederConfig, loadTypeConfig);
- MessageBusSessionFactory mbusFactory = new MessageBusSessionFactory(proc, documentmanagerConfig, slobroksConfig);
- instance = new FeedContext(proc,
- mbusFactory,
- mbusFactory.getAccess().getDocumentTypeManager(),
- new ClusterList(clusterListConfig), metric);
+
+ if (System.getProperty("vespa.local", "false").equals("true")) {
+ // Use injected configs when running from Application. This means we cannot reconfigure
+ MessageBusSessionFactory mbusFactory = new MessageBusSessionFactory(proc, documentmanagerConfig, slobroksConfig);
+ instance = new FeedContext(proc,
+ mbusFactory,
+ mbusFactory.getAccess().getDocumentTypeManager(),
+ new ClusterList(clusterListConfig), metric);
+ }
+ else {
+ // Don't send configs to messagebus to make it self-subscribe instead as this instance
+ // survives reconfig :-/
+ // This code will die soon ...
+ MessageBusSessionFactory mbusFactory = new MessageBusSessionFactory(proc, null, null);
+ instance = new FeedContext(proc,
+ mbusFactory,
+ mbusFactory.getAccess().getDocumentTypeManager(),
+ new ClusterList("client"), metric);
+ }
} else {
instance.getPropertyProcessor().configure(feederConfig, loadTypeConfig);
}