diff --git a/packaging/systemd/cloudstack-usage.default b/packaging/systemd/cloudstack-usage.default index 26f552859f3..089f3eec09c 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 f8874867c69..8d9dff27cde 100644 --- a/packaging/systemd/cloudstack-usage.service +++ b/packaging/systemd/cloudstack-usage.service @@ -24,7 +24,8 @@ After=network.target network-online.target [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 df3f374cc30..5e8a69d17cb 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 @@ public class UsageServer implements Daemon { appContext = new ClassPathXmlApplicationContext("usageApplicationContext.xml"); - try { - ComponentContext.initComponentsLifeCycle(); - } catch (Exception e) { - e.printStackTrace(); - } + ComponentContext.initComponentsLifeCycle(); mgr = appContext.getBean(UsageManager.class);