aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--default.cfg3
-rw-r--r--opengts.cfg3
-rw-r--r--src/org/traccar/Server.java9
-rw-r--r--src/org/traccar/http/WebServer.java45
4 files changed, 60 insertions, 0 deletions
diff --git a/default.cfg b/default.cfg
index 9f9f8bb24..9285b230a 100644
--- a/default.cfg
+++ b/default.cfg
@@ -44,6 +44,9 @@
VALUES (:device_id, :time, :valid, :latitude, :longitude, :speed, :course, :power)
</entry>
+ <!-- Web interface port -->
+ <entry key="http.port">8082</entry>
+
<!-- Xexun server configuration -->
<entry key="xexun.enable">true</entry>
<entry key="xexun.port">5000</entry>
diff --git a/opengts.cfg b/opengts.cfg
index c576e70c9..4c3ba89a0 100644
--- a/opengts.cfg
+++ b/opengts.cfg
@@ -40,6 +40,9 @@
COMMIT;
</entry>
+ <!-- Web interface port -->
+ <entry key="http.port">8082</entry>
+
<!-- Xexun server configuration -->
<entry key="xexun.enable">true</entry>
<entry key="xexun.port">5000</entry>
diff --git a/src/org/traccar/Server.java b/src/org/traccar/Server.java
index a0506f0cb..1c11f07b0 100644
--- a/src/org/traccar/Server.java
+++ b/src/org/traccar/Server.java
@@ -30,6 +30,7 @@ import org.jboss.netty.channel.ChannelPipeline;
import org.jboss.netty.handler.codec.frame.DelimiterBasedFrameDecoder;
import org.jboss.netty.handler.codec.string.StringDecoder;
import org.jboss.netty.handler.codec.string.StringEncoder;
+import org.traccar.http.WebServer;
import org.traccar.model.DataManager;
import org.traccar.model.DatabaseDataManager;
import org.traccar.protocol.*;
@@ -57,6 +58,8 @@ public class Server {
private DataManager dataManager;
+ private WebServer webServer;
+
/**
* Initialize
*/
@@ -81,12 +84,17 @@ public class Server {
initT55Server(properties);
initXexun2Server(properties);
initAvl08Server(properties);
+
+ // Initialize web server
+ Integer port = Integer.valueOf(properties.getProperty("http.port", "8082"));
+ webServer = new WebServer(port);
}
/**
* Start
*/
public void start() {
+ webServer.start();
for (Object server: serverList) {
((TrackerServer) server).start();
}
@@ -99,6 +107,7 @@ public class Server {
for (Object server: serverList) {
((TrackerServer) server).stop();
}
+ webServer.stop();
}
/**
diff --git a/src/org/traccar/http/WebServer.java b/src/org/traccar/http/WebServer.java
new file mode 100644
index 000000000..9b3b78413
--- /dev/null
+++ b/src/org/traccar/http/WebServer.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2012 Anton Tananaev (anton.tananaev@gmail.com)
+ *
+ * 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.
+ */
+package org.traccar.http;
+
+import org.eclipse.jetty.server.Server;
+
+/**
+ * Integrated http server
+ */
+public class WebServer {
+
+ private Server server;
+
+ public WebServer(Integer port) {
+ server = new Server(port);
+ }
+
+ public void start() {
+ try {
+ server.start();
+ } catch (Exception error) {
+ }
+ }
+
+ public void stop() {
+ try {
+ server.stop();
+ } catch (Exception error) {
+ }
+ }
+
+}