Skip to content

Commit 6a4ffbe

Browse files
committed
Mvn-ize build and upgrade to log4j 2
1 parent 54c5812 commit 6a4ffbe

File tree

16 files changed

+141
-78
lines changed

16 files changed

+141
-78
lines changed

README.md

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,6 @@ The `adapters.xml` file for the *RSS News Demo*, should look like:
5353
<param name="modes_for_item_family_1">DISTINCT</param>
5454
<param name="item_family_2">rss_info_.*</param>
5555
<param name="modes_for_item_family_2">COMMAND</param>
56-
57-
<param name="log_config">adapters_log_conf.xml</param>
58-
<param name="log_config_refresh_seconds">10</param>
5956
</metadata_provider>
6057

6158
<data_provider name="RSS_ADAPTER">
@@ -96,29 +93,24 @@ If you want to install a version of the *RSS News Demo* in your local Lightstrea
9693

9794
* Download *Lightstreamer Server* (Lightstreamer Server comes with a free non-expiring demo license for 20 connected users) from [Lightstreamer Download page](http://www.lightstreamer.com/download.htm), and install it, as explained in the `GETTING_STARTED.TXT` file in the installation home directory.
9895
* Make sure that Lightstreamer Server is not running.
99-
* Get the `deploy.zip` file of the [latest release](https://github.com/Lightstreamer/Lightstreamer-example-RSS-adapter-java/releases), unzip it, and copy the `RSS` folder into the `adapters` folder of your Lightstreamer Server installation.
96+
* Get the `deploy.zip` file of the [latest release](https://github.com/Lightstreamer/Lightstreamer-example-RSS-adapter-java/releases), unzip it, and copy the `RSSDemo` folder into the `adapters` folder of your Lightstreamer Server installation.
97+
* [Optional] Customize the logging settings in log4j configuration file: `RSSDemo/classes/log4j2.xml`.
10098
* Launch Lightstreamer Server.
10199
* Test the Adapter, launching the [Lightstreamer - RSS News Demo - HTML Client](https://github.com/Lightstreamer/Lightstreamer-example-RSS-client-javascript) listed in [Clients Using This Adapter](https://github.com/Lightstreamer/Lightstreamer-example-RSS-adapter-java#client-using-this-adapter).
102100

103101
## Build
104102

105-
To build your own version of `LS_rss_reader.jar`, `LS_rss_data_adapter.jar`, and `LS_rss_metadata_adapter.jar`, instead of using the one provided in the `deploy.zip` file from the [Install](https://github.com/Lightstreamer/Lightstreamer-example-RSS-adapter-java#install) section above, follow these steps:
106-
107-
* Download this project.
108-
* Get the `ls-adapter-interface.jar` file from the [latest Lightstreamer distribution](http://www.lightstreamer.com/download), and copy it into the `lib` folder.
109-
* Get the `log4j-1.2.17.jar` file from [Apache log4j](https://logging.apache.org/log4j/1.2/) and copy it into the `lib` folder.
110-
* Get the `informa.jar` and `jdom.jar` files from the [News Aggregation Library for Java download](http://sourceforge.net/projects/informa/), and copy it into the `lib` folder.
111-
* Get the `commons-logging.jar` file from [Apache commons](http://commons.apache.org/proper/commons-logging/download_logging.cgi), and copy it into the `lib` folder.
112-
* Create the jars `LS_rss_reader.jar`, `LS_rss_data_adapter.jar`, and `LS_rss_metadata_adapter.jar` with commands like these:
113-
114-
```sh
115-
> mkdir tmp_classes/feed tmp_classes/adapter tmp_classes/metadata
116-
> javac -source 1.7 -target 1.7 -nowarn -g -classpath lib/log4j-1.2.17.jar;lib/ls-adapter-interface.jar;lib/informa.jar;lib/jdom.jar -sourcepath src/src_feed -d tmp_classes/feed src/src_feed/rss_demo/rss_reader/RSSReaderProvider.java
117-
> jar cvf LS_rss_reader.jar -C tmp_classes/feed .
118-
> javac -source 1.7 -target 1.7 -nowarn -g -classpath lib/log4j-1.2.17.jar;lib/ls-adapter-interface.jar;LS_rss_reader.jar -sourcepath src/src_adapter -d tmp_classes/adapter src/src_adapter/rss_demo/adapters/RSSDataAdapter.java
119-
> jar cvf LS_rss_data_adapter.jar -C tmp_classes/adapter .
120-
> javac -source 1.7 -target 1.7 -nowarn -g -classpath lib/log4j-1.2.17.jar;lib/ls-adapter-interface.jar;LS_rss_data_adapter.jar -sourcepath src/src_metadata -d tmp_classes/metadata src/src_metadata/rss_demo/adapters/RSSMetadataAdapter.java
121-
> jar cvf LS_rss_metadata_adapter.jar -C tmp_classes/metadata .
103+
To build your own version of `example-RSS-adapter-java-0.0.1-SNAPSHOT.jar` instead of using the one provided in the `deploy.zip` file from the [Install](https://github.com/Lightstreamer/Lightstreamer-example-RSS-adapter-java#install) section above, you have two options:
104+
either use [Maven](https://maven.apache.org/) (or other build tools) to take care of dependencies and building (recommended) or gather the necessary jars yourself and build it manually.
105+
For the sake of simplicity only the Maven case is detailed here.
106+
107+
### Maven
108+
109+
You can easily build and run this application using Maven through the pom.xml file located in the root folder of this project. As an alternative, you can use an alternative build tool (e.g. Gradle, Ivy, etc.) by converting the provided pom.xml file.
110+
111+
Assuming Maven is installed and available in your path you can build the demo by running
112+
```sh
113+
mvn install dependency:copy-dependencies
122114
```
123115

124116
## See Also
@@ -136,5 +128,6 @@ To build your own version of `LS_rss_reader.jar`, `LS_rss_data_adapter.jar`, and
136128

137129
## Lightstreamer Compatibility Notes
138130

139-
* Compatible with Lightstreamer SDK for Java In-Process Adapters since 6.0
131+
- Compatible with Lightstreamer SDK for Java In-Process Adapters since 7.3.
132+
- For a version of this example compatible with Lightstreamer SDK for Java Adapters version 6.0, please refer to [this tag](https://github.com/Lightstreamer/Lightstreamer-example-RSS-adapter-java/tree/pre_mvn).
140133
- For a version of this example compatible with Lightstreamer SDK for Java Adapters version 5.1, please refer to [this tag](https://github.com/Lightstreamer/Lightstreamer-example-RSS-adapter-java/tree/for_Lightstreamer_5.1).

lib/README.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

pom.xml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
5+
<groupId>com.lightstreamer</groupId>
6+
<artifactId>example-RSS-adapter-java</artifactId>
7+
<version>0.0.1-SNAPSHOT</version>
8+
<packaging>jar</packaging>
9+
10+
<name>example-RSS-adapter-java</name>
11+
<url>http://maven.apache.org</url>
12+
13+
<properties>
14+
<maven.compiler.target>1.8</maven.compiler.target>
15+
<maven.compiler.source>1.8</maven.compiler.source>
16+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
17+
</properties>
18+
19+
<build>
20+
<sourceDirectory>src</sourceDirectory>
21+
<plugins>
22+
<plugin>
23+
<groupId>org.apache.maven.plugins</groupId>
24+
<artifactId>maven-compiler-plugin</artifactId>
25+
<version>3.1</version>
26+
</plugin>
27+
<plugin>
28+
<groupId>org.codehaus.mojo</groupId>
29+
<artifactId>exec-maven-plugin</artifactId>
30+
<version>1.2.1</version>
31+
<executions>
32+
<execution>
33+
<goals>
34+
<goal>java</goal>
35+
</goals>
36+
</execution>
37+
</executions>
38+
<configuration>
39+
<mainClass>rss_demo.adapters.RSSMetadataAdapter</mainClass>
40+
</configuration>
41+
</plugin>
42+
43+
</plugins>
44+
</build>
45+
46+
<repositories>
47+
<repository>
48+
<id>Twitter</id>
49+
<name>Twitter repository</name>
50+
<url>https://maven.twttr.com/</url>
51+
</repository>
52+
</repositories>
53+
54+
<dependencies>
55+
<dependency>
56+
<groupId>junit</groupId>
57+
<artifactId>junit</artifactId>
58+
<version>4.13.1</version>
59+
<scope>test</scope>
60+
</dependency>
61+
<dependency>
62+
<groupId>com.lightstreamer</groupId>
63+
<artifactId>ls-adapter-inprocess</artifactId>
64+
<version>7.3.0</version>
65+
</dependency>
66+
<dependency>
67+
<groupId>org.apache.logging.log4j</groupId>
68+
<artifactId>log4j-core</artifactId>
69+
<version>2.13.3</version>
70+
</dependency>
71+
<!-- https://mvnrepository.com/artifact/jdom/jdom -->
72+
<dependency>
73+
<groupId>jdom</groupId>
74+
<artifactId>jdom</artifactId>
75+
<version>1.1</version>
76+
</dependency>
77+
<!-- https://mvnrepository.com/artifact/informa/informa -->
78+
<dependency>
79+
<groupId>informa</groupId>
80+
<artifactId>informa</artifactId>
81+
<version>0.6.0</version>
82+
</dependency>
83+
<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
84+
<dependency>
85+
<groupId>commons-logging</groupId>
86+
<artifactId>commons-logging</artifactId>
87+
<version>1.2</version>
88+
</dependency>
89+
</dependencies>
90+
91+
</project>

src/src_adapter/rss_demo/adapters/AggregatorFeed.java renamed to src/main/java/com/lightstreamer/src_adapter/rss_demo/adapters/AggregatorFeed.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
import java.util.LinkedList;
2323
import java.util.Set;
2424

25-
import org.apache.log4j.Level;
26-
import org.apache.log4j.Logger;
27-
import org.apache.log4j.Priority;
25+
import org.apache.logging.log4j.LogManager;
26+
import org.apache.logging.log4j.Logger;
27+
import org.apache.logging.log4j.Level;
2828

2929
import rss_demo.rss_reader.RSSReaderProvider;
3030

@@ -41,8 +41,7 @@
4141
*/
4242

4343
public class AggregatorFeed {
44-
private static Logger logger =
45-
Logger.getLogger("LS_demos_Logger.NewsAggregator.adapter");
44+
private static Logger logger = LogManager.getLogger("LS_demos_Logger.NewsAggregator.adapter");
4645

4746
private String feed;
4847
private HashMap users = new HashMap();
@@ -255,7 +254,7 @@ public int getUsersNumber() {
255254
}
256255
}
257256

258-
private void feedLog(String mex, Priority level) {
257+
private void feedLog(String mex, Level level) {
259258
logger.log(level, "|" + this.feed + "|" + mex);
260259
}
261260

src/src_adapter/rss_demo/adapters/AggregatorUser.java renamed to src/main/java/com/lightstreamer/src_adapter/rss_demo/adapters/AggregatorUser.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
import java.util.HashMap;
2222
import java.util.Set;
2323

24-
import org.apache.log4j.Level;
25-
import org.apache.log4j.Logger;
26-
import org.apache.log4j.Priority;
24+
import org.apache.logging.log4j.LogManager;
25+
import org.apache.logging.log4j.Logger;
26+
import org.apache.logging.log4j.Level;
2727

2828
import com.lightstreamer.interfaces.data.IndexedItemEvent;
2929

@@ -48,8 +48,7 @@ public class AggregatorUser {
4848

4949
private RSSDataAdapter listener;
5050

51-
private static Logger logger =
52-
Logger.getLogger("LS_demos_Logger.NewsAggregator.adapter");
51+
private static Logger logger = LogManager.getLogger("LS_demos_Logger.NewsAggregator.adapter");
5352

5453
/**
5554
* Constructor AggregatorUser.
@@ -347,7 +346,7 @@ public void notifyFeeds() {
347346
this.userLog("EXIT", Level.DEBUG);
348347
}
349348

350-
private void userLog(String mex, Priority level) {
349+
private void userLog(String mex, Level level) {
351350
logger.log(level, "|" + this.userName + "|" + mex);
352351
}
353352

src/src_adapter/rss_demo/adapters/AggregatorUserThread.java renamed to src/main/java/com/lightstreamer/src_adapter/rss_demo/adapters/AggregatorUserThread.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818

1919
package rss_demo.adapters;
2020

21-
import org.apache.log4j.Logger;
21+
import org.apache.logging.log4j.LogManager;
22+
import org.apache.logging.log4j.Logger;
2223

2324
/**
2425
* Class AggregatorUserThread.
@@ -45,8 +46,7 @@ public class AggregatorUserThread extends Thread {
4546

4647
private AggregatorFeed singleFeed = null;
4748

48-
private static Logger logger =
49-
Logger.getLogger("LS_demos_Logger.NewsAggregator.adapter");
49+
private static Logger logger = LogManager.getLogger("LS_demos_Logger.NewsAggregator.adapter");
5050

5151
/**
5252
* Constructor AggregatorUserThread.

src/src_adapter/rss_demo/adapters/RSSDataAdapter.java renamed to src/main/java/com/lightstreamer/src_adapter/rss_demo/adapters/RSSDataAdapter.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
import java.util.Map;
2424
import java.util.concurrent.ConcurrentHashMap;
2525

26-
import org.apache.log4j.Logger;
27-
import org.apache.log4j.xml.DOMConfigurator;
26+
import org.apache.logging.log4j.LogManager;
27+
import org.apache.logging.log4j.Logger;
2828

2929
import rss_demo.rss_reader.RSSReaderProvider;
3030

@@ -103,7 +103,7 @@ public void init(Map params, File configDir) throws DataProviderException {
103103
// is executed after log configuration was completed, this parameter
104104
// must be present in the Adapter Set configuration (adapters.xml):
105105
// <metadata_adapter_initialised_first>Y</metadata_adapter_initialised_first>
106-
logger = Logger.getLogger("LS_demos_Logger.NewsAggregator.adapter");
106+
logger = LogManager.getLogger("LS_demos_Logger.NewsAggregator.adapter");
107107

108108
// Read the Adapter Set name, which is supplied by the Server as a parameter
109109
String adapterSetId = (String) params.get("adapters_conf.id");

src/src_feed/rss_demo/rss_reader/ErrorProducer.java renamed to src/main/java/com/lightstreamer/src_feed/rss_demo/rss_reader/ErrorProducer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@
1818

1919
package rss_demo.rss_reader;
2020

21-
import org.apache.log4j.Level;
22-
import org.apache.log4j.Logger;
21+
import org.apache.logging.log4j.LogManager;
22+
import org.apache.logging.log4j.Logger;
23+
import org.apache.logging.log4j.Level;
2324

2425
import com.lightstreamer.interfaces.data.IndexedItemEvent;
2526

@@ -34,8 +35,7 @@
3435
*/
3536
class ErrorProducer extends Thread {
3637

37-
private static Logger logger =
38-
Logger.getLogger("LS_demos_Logger.NewsAggregator.feed");
38+
private static Logger logger = LogManager.getLogger("LS_demos_Logger.NewsAggregator.feed");
3939
private final RSSReaderProvider provider;
4040
//riferimento al produttore di notizie (ne viene sfruttato il semaforo)
4141
private RssProducer myRif;

src/src_feed/rss_demo/rss_reader/PoolManager.java renamed to src/main/java/com/lightstreamer/src_feed/rss_demo/rss_reader/PoolManager.java

File renamed without changes.

src/src_feed/rss_demo/rss_reader/ProducerException.java renamed to src/main/java/com/lightstreamer/src_feed/rss_demo/rss_reader/ProducerException.java

File renamed without changes.

0 commit comments

Comments
 (0)