diff options
Diffstat (limited to 'sandbox/event/samples/event-jms/src/main/java/weather/WeatherSubscriberComponent.java')
-rw-r--r-- | sandbox/event/samples/event-jms/src/main/java/weather/WeatherSubscriberComponent.java | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/sandbox/event/samples/event-jms/src/main/java/weather/WeatherSubscriberComponent.java b/sandbox/event/samples/event-jms/src/main/java/weather/WeatherSubscriberComponent.java index 89920dc31b..314f245e3e 100644 --- a/sandbox/event/samples/event-jms/src/main/java/weather/WeatherSubscriberComponent.java +++ b/sandbox/event/samples/event-jms/src/main/java/weather/WeatherSubscriberComponent.java @@ -23,19 +23,49 @@ import java.util.Date; import org.osoa.sca.annotations.Consumer; import org.osoa.sca.annotations.Remotable; import org.osoa.sca.annotations.EventTypes; +import org.osoa.sca.annotations.Scope; +import org.osoa.sca.annotations.Service; /** * The WeatherService subscriber implementation - receives weather reports and prints it on stdout */ @Remotable -public class WeatherSubscriberComponent { +@Scope("COMPOSITE") +@Service(WeatherSubscriber.class) +public class WeatherSubscriberComponent implements WeatherSubscriber { + + private int[] messagesReceivedList = new int[3]; @Consumer(name="weatherSubscriber") @EventTypes("ExampleEvent") public void onWeather(String report) { System.out.println("Weather report received at " + new Date() + ": " + report); + + messagesReceivedList[0]++; + } + + + @Consumer(name="weatherSubscriber") + @EventTypes("WeatherWarning") + public void onWeatherWarning(WeatherWarning warning) { + System.out.println("WEATHER WARNING received at " + new Date() + ": " + warning); + + messagesReceivedList[1]++; + } + + @Consumer(name="weatherSubscriber") + public void onWeatherInfo(String info) { + System.out.println("Weather info received at " + new Date() + ": " + info); + + messagesReceivedList[2]++; } + + public int[] getMessageList() { + return messagesReceivedList; + } + + }
\ No newline at end of file |