diff --git a/code/infrastructure/streaming/clients/sub/neo4j/sub_neo4j_cdm.py b/code/infrastructure/streaming/clients/sub/neo4j/sub_neo4j_cdm.py
index eeceb865e6b308e0e59d797e82f27d97193dd237..224d8e9542d95f8f6e5cec020eb43d43f2e9900d 100755
--- a/code/infrastructure/streaming/clients/sub/neo4j/sub_neo4j_cdm.py
+++ b/code/infrastructure/streaming/clients/sub/neo4j/sub_neo4j_cdm.py
@@ -214,7 +214,7 @@ def on_connect(client, userdata, flags, return_code):
     '''
     if return_code == 0:
         print("connected")
-        client.subscribe("neo4j")
+        client.subscribe("neo4j",qos=1)
     else:
         print("could not connect, return code:", return_code)
         client.failed_connect = True
@@ -263,7 +263,7 @@ client.on_connect = on_connect
 client.on_message = on_message
 client.failed_connect = False
 
-client.connect(broker_hostname, port) 
+client.connect(broker_hostname, port,keepalive=3600*4) 
 client.loop_start()
 
 # this try-finally block ensures that whenever we terminate the program earlier by hitting ctrl+c, it still gracefully exits