diff options
-rw-r--r-- | default.cfg | 3 | ||||
-rw-r--r-- | opengts.cfg | 3 | ||||
-rw-r--r-- | src/org/traccar/Server.java | 9 | ||||
-rw-r--r-- | src/org/traccar/http/WebServer.java | 45 |
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) { + } + } + +} |