此内容没有您所选择的语言版本。
13.3. Build the Football Application
The following procedure outlines the steps to build a football manager application as an example of REST, Hot Rod and memcached endpoints in JBoss Data Grid.
Important
JBoss Data Grid does not support deploying applications, therefore this quickstart cannot be installed as a deployment.
Prerequisites
Prerequisites for this procedure are as follows:
- Obtain the most recent supported JBoss Data Grid Remote Client-Server Mode distribution files from Red Hat.
- Ensure that the JBoss Data Grid and JBoss Enterprise Application Platform Maven repositories are installed and configured. For details, refer to Chapter 4, Install and Use the Maven Repositories
Procedure 13.1. Build the Football Application
Add Configurations
Edit thestandalone.xmlfile (located at$JDG_HOME/standalone/configuration/) to add definitions for the datasource and infinispan subsystems.- Add the following subsystem definition for the datasource:
<subsystem xmlns="urn:jboss:domain:datasources:1.0"> <!-- Define this Datasource with jndi name java:jboss/datasources/ExampleDS --> <datasources> <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true"> <!-- The connection URL uses H2 Database Engine with in-memory database called test --> <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url> <!-- JDBC driver name --> <driver>h2</driver> <!-- Credentials --> <security> <user-name>sa</user-name> <password>sa</password> </security> </datasource> <!-- Define the JDBC driver called 'h2' --> <drivers> <driver name="h2" module="com.h2database.h2"> <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class> </driver> </drivers> </datasources> </subsystem> - Add the following subsystem definition for infinispan:
<subsystem xmlns="urn:infinispan:server:core:5.2" default-cache-container="local"> <cache-container name="local" default-cache="default"> <local-cache name="default" start="EAGER"> <locking isolation="NONE" acquire-timeout="30000" concurrency-level="1000" striping="false"/> <transaction mode="NONE"/> </local-cache> <local-cache name="memcachedCache" start="EAGER"> <locking isolation="NONE" acquire-timeout="30000" concurrency-level="1000" striping="false"/> <transaction mode="NONE"/> </local-cache> <local-cache name="namedCache" start="EAGER" /> <!-- ADD a local cache called 'teams' --> <local-cache name="teams" start="EAGER" batching="false" indexing="NONE" > <!-- Define the locking isolation of this cache --> <locking isolation="REPEATABLE_READ" acquire-timeout="20000" concurrency-level="500" striping="false" /> <!-- Disable transactions for this cache --> <transaction mode="NONE" /> <!-- Define the JdbcBinaryCacheStores to point to the ExampleDS previously defined --> <string-keyed-jdbc-store datasource="java:jboss/datasources/ExampleDS" passivation="false" preload="false" purge="false"> <!-- Define the database dialect --> <property name="databaseType">H2</property> <!-- specifies information about database table/column names and data types --> <string-keyed-table prefix="JDG"> <id-column name="id" type="VARCHAR"/> <data-column name="datum" type="BINARY"/> <timestamp-column name="version" type="BIGINT"/> </string-keyed-table> </string-keyed-jdbc-store> </local-cache> <!-- End of local cache called 'teams' definition --> </cache-container> </subsystem>
Note
The Hot Rod and REST endpoints use the cache namedteamsand memcached endpoint usesmemcachedCacheas a default.Disable REST Security
As a default, thestandalone.xmlconfiguration file protects the REST endpoint withBASICauthentication. This quickstart cannot perform authentication, therefore the REST authentication must be disabled in the REST connector by removing thesecurity-domainandauth-methodparameters. The resulting configuration (with REST authentication disabled) is as follows:<rest-connector virtual-server="default-host" cache-container="local" />For more details about security, refer to the REST Authentication Chapter in JBoss Data Grid's Developer Guide.Edit the Submodule Configuration File
Each submodule (specificallyhotrod-endpoint,rest-endpointandmemcached-endpoint) contains a configuration file (located at$JDG_QUICKSTART/src/main/resources/jdg.properties). Modify the default values in the configuration file to set the values required for your specific JBoss Data Grid installation.Build the Application
Use the following command to build the example application in its directory:mvn clean packageThis step results in the use of Maven's shade plugin, which bundles all dependencies into a single jar file for ease of use. This file is named{PROTOCOL}-endpoint-quickstart.jar, for examplerest-endpoint-quickstart.jarfor the REST version.Start JBoss Data Grid
Run the following script to run JBoss Data Grid:$JDG_HOME/bin/standalone.shRun the Application
Run the example application in its directory with the following command:mvn exec:java