From 25102229f6ac19d9376309e7917f0da7cd2c8d56 Mon Sep 17 00:00:00 2001
From: 648540858 <456panlinlin>
Date: 星期五, 15 四月 2022 18:04:19 +0800
Subject: [PATCH] 接收所有notify请求,即使没有订阅

---
 src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java                                     |    1 
 bootstrap.sh                                                                                  |   91 +++++++++++++++++++++++++++++++++++++++++++++
 src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java |    2 -
 src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java                                     |    2 -
 4 files changed, 92 insertions(+), 4 deletions(-)

diff --git a/bootstrap.sh b/bootstrap.sh
new file mode 100755
index 0000000..0f3c4c9
--- /dev/null
+++ b/bootstrap.sh
@@ -0,0 +1,91 @@
+#!/bin/bash
+
+######################################################
+# Copyright 2019 Pham Ngoc Hoai
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Repo: https://github.com/tyrion9/spring-boot-startup-script
+#
+######### PARAM ######################################
+
+JAVA_OPT=-Xmx1024m
+JARFILE=`ls -1r *.jar 2>/dev/null | head -n 1`
+PID_FILE=pid.file
+RUNNING=N
+PWD=`pwd`
+
+######### DO NOT MODIFY ########
+
+if [ -f $PID_FILE ]; then
+        PID=`cat $PID_FILE`
+        if [ ! -z "$PID" ] && kill -0 $PID 2>/dev/null; then
+                RUNNING=Y
+        fi
+fi
+
+start()
+{
+        if [ $RUNNING == "Y" ]; then
+                echo "Application already started"
+        else
+                if [ -z "$JARFILE" ]
+                then
+                        echo "ERROR: jar file not found"
+                else
+                        nohup java  $JAVA_OPT -Djava.security.egd=file:/dev/./urandom -jar $PWD/$JARFILE > nohup.out 2>&1  &
+                        echo $! > $PID_FILE
+                        echo "Application $JARFILE starting..."
+                        tail -f nohup.out
+                fi
+        fi
+}
+
+stop()
+{
+        if [ $RUNNING == "Y" ]; then
+                kill -9 $PID
+                rm -f $PID_FILE
+                echo "Application stopped"
+        else
+                echo "Application not running"
+        fi
+}
+
+restart()
+{
+        stop
+        start
+}
+
+case "$1" in
+
+        'start')
+                start
+                ;;
+
+        'stop')
+                stop
+                ;;
+
+        'restart')
+                restart
+                ;;
+
+        *)
+                echo "Usage: $0 {  start | stop | restart  }"
+                exit 1
+                ;;
+esac
+exit 0
+
diff --git a/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java b/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java
index bd10317..052f533 100644
--- a/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java
+++ b/src/main/java/com/genersoft/iot/vmp/conf/DynamicTask.java
@@ -76,7 +76,6 @@
      */
     public void startDelay(String key, Runnable task, int delay) {
         stop(key);
-        System.out.println("瀹氭椂浠诲姟寮�濮嬩簡");
         Date starTime = new Date(System.currentTimeMillis() + delay);
 
         ScheduledFuture future = futureMap.get(key);
@@ -100,7 +99,6 @@
     }
 
     public void stop(String key) {
-        System.out.println("瀹氭椂浠诲姟缁撴潫浜�");
         if (futureMap.get(key) != null && !futureMap.get(key).isCancelled()) {
             futureMap.get(key).cancel(true);
             Runnable runnable = runnableMap.get(key);
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java b/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
index 1a5cce5..7b7291c 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/SipLayer.java
@@ -48,6 +48,7 @@
 		properties.setProperty("javax.sip.STACK_NAME", "GB28181_SIP");
 		properties.setProperty("javax.sip.IP_ADDRESS", sipConfig.getMonitorIp());
 		properties.setProperty("gov.nist.javax.sip.LOG_MESSAGE_CONTENT", "true");
+		properties.setProperty("gov.nist.javax.sip.DELIVER_UNSOLICITED_NOTIFY", "true"); // 鎺ユ敹鎵�鏈塶otify璇锋眰锛屽嵆浣挎病鏈夎闃�
 		/**
 		 * sip_server_log.log 鍜� sip_debug_log.log public static final int TRACE_NONE =
 		 * 0; public static final int TRACE_MESSAGES = 16; public static final int
diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java b/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java
index f20baf9..034f9de 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/task/impl/MobilePositionSubscribeHandlerTask.java
@@ -42,7 +42,6 @@
     @Override
     public void run() {
 
-        logger.info("鎵цMobilePositionSubscribeHandlerTask");
         if (platform == null) return;
         SubscribeInfo subscribe = subscribeHolder.getMobilePositionSubscribe(platform.getServerGBId());
         if (subscribe != null) {
@@ -71,7 +70,6 @@
                 }
             }
         }
-        logger.info("缁撴潫鎵цMobilePositionSubscribeHandlerTask");
     }
 
     @Override

--
Gitblit v1.8.0