21.17.2. Configure the Java Connector Architecture (JCA) Subsystem?The JCA subsystem in the JBoss Enterprise Application Platform 6 configuration file controls the general settings for the JCA container and resource adapter deployments. 22.Table 17.1. Archive validation attributes?
Severity: ERROR
If archive validation is not specifed, it is considered present and the enabled attribute defaults to true.
Section: 19.4.2 Description: A ResourceAdapter must implement a "public int hashCode()" method. Code: com.mycompany.myproject.ResourceAdapterImpl Severity: ERROR Section: 19.4.2 Description: A ResourceAdapter must implement a "public boolean equals(Object)" method. Code: com.mycompany.myproject.ResourceAdapterImpl 23.What is Bean validation?This setting determines whether bean validation (JSR-303) will be performed on the deployment units. 24.Table 17.2. Bean validation attributes?
25.What is Table 17.3. Work manager attributes?
26.What is Table 17.4. Thread pool attributes?
27.What is Bootstrap contexts?Used to define custom bootstrap contexts. 28.What is Table 17.5. Bootstrap context attributes?
29.What is Cached connection managerUsed for debugging connections and supporting lazy enlistment of a connection in a transaction, tracking whether they are used and released properly by the application. 30.What is Table 17.6. Cached connection manager attributes?
31.What is Procedure 17.1. Configure the JCA subsystem using the Management Console?The JCA subsystem of JBoss Enterprise Application Platform 6 can be configured in the Management Console. The JCA configuration options are located in slightly different places in the Management Console depending on how the server is being run. 32.What is Common Config?The Common Config tab contains settings for the cached connection manager, archive validation and bean validation ((JSR-303). Each of these is contained in their own tab as well. These settings can be changed by opening the appropriate tab, clicking the edit button, making the required changes, and then clicking on the save button. 33.What is Work Managers?The Work Manager tab contains the list of configured Work Managers. New Work Managers can be added, removed, and their thread pools configured here. Each Work Manager can have one short-running thread pool and an optional long-running thread pool. 34.What is Bootstrap Contexts?The Bootstrap Contexts tab contains the list of configured Bootstrap Contexts. New Bootstrap Context objects can be added, removed, and configured. Each Bootstrap Context must be assigned a Work Manager. 35.Figure 17.4. Bootstrap Contexts?Java Connector Architecture (JCA) 1.6 connectors. As Simple as Possible.
@Stateless
Transactional File Access:
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) public class ThreadsResource { @Resource(name="jca/workmanager") WorkExecutorFactory executorFactory; public String threads(){ try(WorkExecutor executor = executorFactory.newExecutor();){ Runnable runnable = new Runnable(){ @Override public void run() { //some work to do } }; executor.execute(runnable); }
import java.net.URI;
import javax.annotation.Resource; import javax.ejb.Stateless; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import org.connectorz.files.Bucket; import org.connectorz.files.BucketStore; @Path("files") @Stateless @Consumes(MediaType.TEXT_PLAIN) @Produces(MediaType.TEXT_PLAIN) public class FilesResource { @Resource(name = "jca/files") BucketStore bucketStore; @PUT @Path("{id}") public Response put(@PathParam("id") String id, String content) { try (Bucket bucket = bucketStore.getBucket();) { bucket.write(id, content.getBytes()); } URI createdURI = URI.create(id); return Response.created(createdURI).build(); } @GET @Path("{id}") public String fetch(@PathParam("id") String id) { try (Bucket bucket = bucketStore.getBucket();) { final byte[] content = bucket.fetch(id); if(content == null) return null; return new String(content); } } @DELETE @Path("{id}") public void delete(@PathParam("id") String id) { try (Bucket bucket = bucketStore.getBucket();) { bucket.delete(id); } } } 36.?
37.?
38.?
39.?
40.?
|