Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current Restore this Version View Page History

« Previous Version 9 Next »

Introduction

Feature applications provide in-depth examples of how to use a particular Fabric3 feature, such as pub/sub eventing. As with the starter applications, a feature application can be built and deployed to one of the server configurations.

Note browser support for Websockets is required for the chat and monitor samples. Currently, only Firefox and Chrome support Websockets.

Eventing

The eventing sample demonstrates the use of Channels to develop applications based on pub/sub communications and asynchronous events. The sample can be deployed to the single VM server or to the distributed domain.

For more on SCA eventing and pub/sub communications, see PubSub Eventing.

Timers

The timer sample demonstrates use of timer components to fire events at a specified interval. Two timers are deployed: a highly-available clustered singleton and a stateless timer that is deployed to all participants in a zone (cluster). The sample can be run on the single VM server or the distributed domain.

For more on timers, see Timer Components.

Hibernate and REST

This application demonstrates exposing a component as a REST resource using JAX-RS annotations and persisting the resource to a database using Hibernate and SCA declarative transactions. The sample also demonstrates how to configure application data sources. The web-hibernate-client module provides a client to access the resource using the JAX-RS Jersey client API.

To run the web-hibernate-client from the commandline change to the /features/web-hibernate-client and type

mvn exec:java

Note web-hibernate must be deployed first and the server must be running in order to run the web-hibernate-client. For more on using Hibernate and JPA with Fabric3, see Data Access.

Web 2.0 and SCA Eventing

The websocket chat application demonstrates how to use SCA eventing to push events to browser clients over websockets. The browser client uses JQuery and JSON to receive events from a server-based channel. After deployment to the single VM runtime, the browser client is available at http://localhost:8181/chat/chat.html.

The sample can also be deployed to a distributed domain. If more than one runtime is launched in a zone, the chat channel will replicate messages to every member in the cluster. This makes it possible for browsers connected via websockets to different runtimes to receive events broadcast by other members in the cluster.

Monitors

This sample demonstrates sending monitor events to a custom channel. The channel is bound to a Websocket address, allowing monitor events to be pushed to a browser using JQuery. After deploying the application, point a browser to http://localhost:8181/monitor/monitor.html to receive events. Every fifth event is an error event displayed in red.

For more information on using Fabric3 monitors to broadcast application events and log messages, see Monitoring and Logging.