摘要:
A system, method, and apparatus for enabling a thin client to participate in a global transaction in a distributed object-oriented transaction processing environment that commits resources according to a two-phased commit protocol. The thin client is configured with a pseudo-transaction manager (PTM), and a remote server managing the commit procedure is configured with an object transaction manager having an interface to the (PTM). When an application on the thin client sends a request to begin a transaction, the PTM creates a temporary propagation context including a Global ID identifying the transaction and sets a flag in the context to indicate that this is a new transaction. The context is sent to a remote server for execution of a remote method. Upon receipt, the remote server recognizes that this is a new transaction and creates a real propagation context including its Resource Coordinator Proxy ID, the global ID, and a Recovery Coordinator Name useful for a recovery process in the event of transaction failure. The real context is replied to the PTM, which updates and replaces its temporary context with the real context. The real context is then sent to any downstream remote server participating in the global transaction, and each (Subordinate) registers to the Resource Coordinator identified in the context. The real context containing the Global ID generated by the thin client is used by the PTM for requests to any servers involved in the transaction, while the remote server manages the two-phase commit procedure.
摘要:
A system, method, and apparatus for ensuring data integrity in a distributed object-oriented transaction processing environment, including support of single- and two-phased commit protocol transactions with a new protocol defined as a mixed-phase commit protocol. A root transaction manager on a server registers distributed object resources requested by a client application for a global transaction as being committable by either the single-phase, two-phase, or mixed-phase protocol. The root transaction manager commits the registered resources in accordance with the results of the registration step.
摘要:
An aspect-oriented system includes a way to access both local and remote advice that is consistent with the modularity concerns of an aspect-oriented program. During compilation of the aspect-oriented program, a weaver determines whether advice referenced by an aspect is local or remote. If the advice is local, the weaver applies the local advice to the base program. If the advice is remote, the weaver generates remote invocation code that may include client stubs and server code to handle the marshalling and unmarshalling of parameters. Invocations to the client stub are then inserted into the join points of the base program. At run-time, the server name and number that has the remote aspect is determined. When the client stub is invoked, the remote advice on the specified server may be accessed. The result is an improved weaver that may generate code to access remote advice in a different JVM.
摘要:
An aspect-oriented system includes a way to access both local and remote advice that is consistent with the modularity concerns of an aspect-oriented program. During compilation of the aspect-oriented program, a weaver determines whether advice referenced by an aspect is local or remote. If the advice is local, the weaver applies the local advice to the base program. If the advice is remote, the weaver generates remote invocation code that may include client stubs and server code to handle the marshalling and unmarshalling of parameters. Invocations to the client stub are then inserted into the join points of the base program. At run-time, the server name and number that has the remote aspect is determined. When the client stub is invoked, the remote advice on the specified server may be accessed. The result is an improved weaver that may generate code to access remote advice in a different JVM.
摘要:
A container managed persistent (CMP) enterprise java bean (EJB) framework includes support for accessing multiple data sources within one deployment. A CMP EJB includes a number of different attributes that can be a variety of values. A session EJB that acts as a front-end to the CMP EJP includes a resource reference for each of the different data sources that the entity CMP EJB may utilize. The application server environment includes a map that defines mapping information between the attributes of the CMP EJB and the resource references of the session EJB. Using the mapping information during runtime, the application server connects to the appropriate data source.
摘要:
A method, apparatus and program product retrieve, in the client, class metadata of an object that is used by the computer program from a remote service, including retrieving object type data of the object, and dynamically generate on the client a proxy object for the object on the server. The object is dynamically created and resides on a server, and the type of the object is unknown to the computer program prior to retrieval of the class metadata. Furthermore, casting a type of the proxy object to a type that is specific to an interface known to the computer program without receiving any class cast exception. By doing so, the dynamically created proxy object may be utilized for remote method invocation in a distributed environment utilizing objects dynamically created on the server, often avoiding a costly deployment process and independent of any protocols.
摘要:
An apparatus and method enable batch processing of database updates without modifying generated code, i.e., without redeployment of the application server or application. A batch mechanism intercepts calls from the generated code, compiles updates into batches, and processes the updates to the database in batches. In this manner the batch mechanism takes advantage of the batch processing capabilities of the database without modifying the generated code.