Merge remote-tracking branch 'origin/4.11'
diff --git a/packaging/systemd/cloudstack-usage.default b/packaging/systemd/cloudstack-usage.default
index 26f5528..089f3ee 100644
--- a/packaging/systemd/cloudstack-usage.default
+++ b/packaging/systemd/cloudstack-usage.default
@@ -15,8 +15,11 @@
# specific language governing permissions and limitations
# under the License.
-JAVA_OPTS="-Dpid=$$ -Xms256m -Xmx2048m"
+JAVA_OPTS="-Xms256m -Xmx2048m"
CLASSPATH="/usr/share/cloudstack-usage/*:/usr/share/cloudstack-usage/lib/*:/usr/share/cloudstack-mysql-ha/lib/*:/etc/cloudstack/usage:/usr/share/java/mysql-connector-java.jar"
JAVA_CLASS=com.cloud.usage.UsageServer
+
+# Enable the following to enable remote socket based debugging:
+#JAVA_DEBUG="-agentlib:jdwp=transport=dt_socket,address=8001,server=y,suspend=n"
diff --git a/packaging/systemd/cloudstack-usage.service b/packaging/systemd/cloudstack-usage.service
index f887486..8d9dff2 100644
--- a/packaging/systemd/cloudstack-usage.service
+++ b/packaging/systemd/cloudstack-usage.service
@@ -24,7 +24,8 @@
[Service]
Type=simple
EnvironmentFile=/etc/default/cloudstack-usage
-ExecStart=/usr/bin/java $JAVA_OPTS -cp $CLASSPATH $JAVA_CLASS
+Environment=JAVA_PID=$$
+ExecStart=/bin/sh -ec '/usr/bin/java -Dpid=${JAVA_PID} $JAVA_OPTS $JAVA_DEBUG -cp $CLASSPATH $JAVA_CLASS'
Restart=always
RestartSec=10s
diff --git a/usage/src/main/java/com/cloud/usage/UsageServer.java b/usage/src/main/java/com/cloud/usage/UsageServer.java
index df3f374..5e8a69d 100644
--- a/usage/src/main/java/com/cloud/usage/UsageServer.java
+++ b/usage/src/main/java/com/cloud/usage/UsageServer.java
@@ -51,11 +51,7 @@
appContext = new ClassPathXmlApplicationContext("usageApplicationContext.xml");
- try {
- ComponentContext.initComponentsLifeCycle();
- } catch (Exception e) {
- e.printStackTrace();
- }
+ ComponentContext.initComponentsLifeCycle();
mgr = appContext.getBean(UsageManager.class);