[
https://issues.apache.org/jira/browse/STREAMS-344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15809812#comment-15809812
]
ASF GitHub Bot commented on STREAMS-344:
----------------------------------------
Github user steveblackmon commented on a diff in the pull request:
https://github.com/apache/incubator-streams/pull/348#discussion_r95085434
--- Diff:
streams-contrib/streams-persist-neo4j/src/main/java/org/apache/streams/neo4j/http/Neo4jHttpClient.java
---
@@ -0,0 +1,84 @@
+package org.apache.streams.neo4j.http;
+
+import org.apache.streams.neo4j.Neo4jConfiguration;
+
+import com.google.common.base.Preconditions;
+
+import org.apache.http.client.HttpClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+public class Neo4jHttpClient {
+
+ private static final Logger LOGGER = LoggerFactory
+ .getLogger(Neo4jHttpClient.class);
+
+ public Neo4jConfiguration config;
+
+ private HttpClient client;
+
+ private Neo4jHttpClient(Neo4jConfiguration neo4jConfiguration) {
+ this.config = neo4jConfiguration;
+ try {
+ this.start();
+ } catch (Exception e) {
+ e.printStackTrace();
+ this.client = null;
+ }
+ }
+
+ private static Map<Neo4jConfiguration, Neo4jHttpClient> INSTANCE_MAP =
new ConcurrentHashMap<Neo4jConfiguration, Neo4jHttpClient>();
+
+ public static Neo4jHttpClient getInstance(Neo4jConfiguration
neo4jConfiguration) {
+ if ( INSTANCE_MAP != null &&
+ INSTANCE_MAP.size() > 0 &&
+ INSTANCE_MAP.containsKey(neo4jConfiguration)
+ )
+ return INSTANCE_MAP.get(neo4jConfiguration);
+ else {
+ Neo4jHttpClient instance = new
Neo4jHttpClient(neo4jConfiguration);
+ if( instance != null && instance.client != null ) {
+ INSTANCE_MAP.put(neo4jConfiguration, instance);
+ return instance;
+ } else {
+ return null;
+ }
+ }
+ }
+
+ public void start() throws Exception {
+
+ Preconditions.checkNotNull(config);
+ Preconditions.checkArgument(
+ config.getScheme().startsWith("http")
+ );
+
+ LOGGER.info("Neo4jConfiguration.start {}", config);
+
+ Preconditions.checkNotNull(client);
--- End diff --
✔️
> Support binary protocol in streams-persist-graph
> ------------------------------------------------
>
> Key: STREAMS-344
> URL: https://issues.apache.org/jira/browse/STREAMS-344
> Project: Streams
> Issue Type: Improvement
> Components: Persist
> Reporter: Steve Blackmon
> Assignee: Steve Blackmon
> Fix For: 0.5
>
>
> Support batch writes in GraphHttpPersistWriter.
> Using a separate HTTP Post for every datum is inefficient.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)