CORBA component property descriptions

Table 4-2 describes the CORBA component properties. The first column contains the property names displayed in the Management Console. The second column lists the suffixes for the property name used to configure the property within a setProperties Ant command. The full property name begin with:

com.sybase.jaguar.component.

For example, the pooling entry in the table must be configured as com.sybase.jaguar.component.pooling.

Table 4-2: CORBA component properties

Management Console name

Configuration file property suffix

Description

Name

name

The component name. This property is read-only once the component has been created.

Component Type

type

The component type. Allowable values are as follows, with configuration script values in parentheses:

  • CORBA/C++ (cpp)

  • CORBA/Java (java)

  • PowerBuilder (pb)

Code Set

code.set

For C++ components, specifies the coded character set name used to encode character and string parameter data. For the list of supported values, list the subdirectories of the charsets directory. Each subdirectory matches the name of a supported character set.

Input values for string parameters (and string fields within complex datatype values) are converted to this code set before each method invocation. Upon return, output values are converted from the component’s code set to the client’s code set.

If your C++ component uses Client-Library connection caches, you cannot specify a code set that is different than the server code set. Character data read over a cached Client-Library connection is always in the server’s code set.

If a component code set is not specified, the default is the server’s code set.

Expose as Web Service

web.service

Whether the component is exposed as a Web service. If enabled, the component’s EJB remote interface is exposed as a Web service. The default is false.

Roles Required

roles

A comma-separated list of security role names. If set, clients cannot invoke the component unless they connect with a user name that is in one of the assigned roles.

If not set, the default is the value of the Roles Required property (com.sybase.jaguar.package.roles) in the CORBA package properties–see “CORBA package property descriptions”.

C++ Class

cpp.class

For C++ components, the name of the C++ class that implements the component methods.

C++ Library

cpp.library

For C++ components, the base name of the library file that contains the component implementation.

Copy Library

cpp.copy

For C++ components, specifies whether the server should copy the component library before running it. The default is false. Set this property to true to allow updates to the implementation on operating systems that do not allow overwriting a DLL or shared library while the library is in use.

Debug Library

cpp.debug

For C++ components, specifies whether to catch exceptions. The default is true, which specifies that exceptions are caught in the server. Use the default of true for deployment to production servers to ensure that exceptions thrown by component code do not terminate the server process.

When debugging an executing component, set this property to false to allow exceptions to reach your debugger. You must set this property to true to debug an executing C++ component in Microsoft Visual C++. Other C++ debuggers may require the same setting as well.

Java Class

java.class

For CORBA/Java components, specifies the Java class name that implements the component methods.

PowerBuilder NVO Class

pb.class

For PowerBuilder components, specifies the name of the nonvisual object that implements the component’s methods.

This property is set by deployment from PowerBuilder and should be treated as read-only in EAServer.

PowerBuilder Libarry List

pb.librarylist

For PowerBuilder components, specifies library files that are required to run the object. Set the value to the list of library files separated by semicolons. Prefix library names with a dollar sign ($) if they must be included when the component is included in an export configuration or cluster synchronization. For example:

mylib.pbl;anotherlib.pbl;$utils.pbl

This property is set by deployment from PowerBuilder and should be treated as read-only in EAServer.

PowerBuilder Version

pb.version

For PowerBuilder components, specifies the required version of the PowerBuilder virtual machine. This property is set when deploying from PowerBuilder, and should not be edited in any other way. Components that lack this property setting are run in the version 7.0 VM.

This property is set by deployment from PowerBuilder and should be treated as read-only in EAServer.

IDL Home Interface

home

The name of the IDL home interface, in IDL syntax. For example, Tutorial::CPPArithmeticHome. The home interface allows interoperability with EJB clients.

If you specify a home interface when creating a component, the IDL interface must exist already. To have EAServer create a default interface, leave this setting blank when creating new components.

If you do not specify an IDL home interface when creating the component, EAServer creates one the first time you refresh the component in the Management Console or run the jaguar-compiler command on the package using a configuration script or the command line.

IDL Remote Interface

remote

The name of the IDL remote interface, in IDL syntax. For example, Tutorial::CPPArithmetic. The remote interface specifies the signatures of the component methods that can be invoked by clients. You must set this property and specify the name of a valid IDL interface that has been deployed to EAServer—see Chapter 3, “Using CORBA IDL.”

IDL Component Interfaces

interfaces

Optional. Specifies IDL interfaces that the component supports for client use in addition to the remote interface. If set, specify a comma-separated list of IDL interface names.

Pooled

pooling

Specifies whether component instances should always be pooled. If set to true, lifecycle methods related to instance pooling are not called, such as canBePooled or canReuse.

Instance Pool Timeout

instancePool.timeout

If the component supports instance pooling, specifies how long, in seconds, an instance can remain idle in the pool. The default is 600 (ten minutes).

To free resources used by idle component instances, the server may remove instances that remain idle past this time limit.

Passivation Timeout

timeout

For stateful components, specifies how long, in seconds, an active component instance can remain idle between method calls before EAServer destroys the instance. The default of “0” indicates an infinite timeout.

Instance Timeout is useful for ensuring timely deactivation of stateful components. When the timeout period is exceeded, EAServer deactivates the component and invalidates the client’s object reference. If the client attempts another method invocation, the client-side ORB throws the CORBA::OBJECT_NOT_EXIST exception. At this point, the client must create a new proxy instance for the component.

When specifying timeouts, a resolution of 5 seconds is recommended. Network transport time is not included in the measured timeout period. You may need to configure a larger timeout period if clients connect over slow networks.

Thread Monitor

monitor

Optional. Specifies the name of a thread monitor that constrains component execution. Thread monitors provide a mechanism to govern how many instances of a component can be simultaneously active in the server For more information, see “Monitoring threads” in Chapter 3, “Creating and Configuring Servers,” in the System Administration Guide.

Transaction Type

tx_type

For components that use connection caches to perform database work, specifies how the database work is scoped in a server managed transaction. “Transaction type values” describes the allowable values.

Transaction Outcome

tx_outcome

For components that participate in server managed transactions, determines whether a CORBA::TRANSACTION_ROLLEDBACK exception is thrown to the client when a transaction is rolled back by the component or due to an error in component execution.

The default value, always, specifies that EAServer sends a CORBA::TRANSACTION_ROLLEDBACK exception to the client when a transaction is rolled back.

The value failed specifies that EAServer does not send the CORBA::TRANSACTION_ROLLEDBACK exception to the client when a transaction is rolled back. If you use this setting, you can code your components to raise a different exception with a descriptive message after calling the RollbackWork transaction primitive. With this setting in effect, EAServer may still throw a CORBA system exception if unable to commit a transaction at your component’s request.

Transaction Retry

tx_retry

Specifies whether container-managed transactions should be automatically retried after a rollback. The default is false.

Automatic Failover

auto.failover

Specifies whether client proxies can transparently fail over to a different server when the component is deployed to several servers in a cluster. The default of false prevents failover. For more information on failover support, see Chapter 8, “Load Balancing, Failover, and Component Availability,” in the System Administration Guide.

Bind Object

bind.object

Specifies whether instances remain bound to client’s object reference after setComplete is called. The default is false. Cannot be set to true unless the component is stateful and thread-safe.

Bind Thread

bind.thread

Specifies whether instances are bound to the thread that created them. If true, the component instance is always called by the same thread. The default is false. Set this property to true if your component uses thread-local storage. Otherwise, use the default of false for best performance. Enabling Bind Thread requires EAServer to create an extra thread for each component instance.

Pooled

pooling

Specifies whether component instances are pooled for reuse by multiple client sessions. The default is false.

Shared

sharing

Specifies whether a single instance or multiple instances of the component implementation serve clients.If set to true, a single instance serves all clients. The default of false means multiple instances are used.

If sharing is enabled, and the Thread Safe property is enabled, you must synchronize access to read-write instance variables in the implementation.

Stateful Session Bean

tx_vote

Specifies whether the component is wrapped by an EJB stateful session bean to allow stateful behavior. The default is false, which causes EAServer to wrap the component with a stateless session bean.

In business methods, stateful CORBA components must call the transaction state primitive methods to indicate the session state. For example, completeWork or rollbackWork ends the session and deactivates the component instance. For details, see “Using transaction state primitives”.

If long transactions are enabled for the server, server managed transactions depend on the component’s invocation of the transaction state primitive methods. See “Long versus short transactions” for more information.

Thread Safe

thread.safe

Specifies whether multiple component instances can execute concurrently, or whether a shared component can execute simultaneously on multiple threads. The default is true. If set to false, the server serializes all invocations of component methods.

NoteSharing is true, this property specifies whether it is safe for multiple threads to simultaneously call business methods on a singleton instance of this component.

Debug

debug

Specifies whether the server logs trace information for instance life cycle events such as creation, destruction, pooling, and so forth. The default is false.

MDB Acknowledge Mode

mdb.acknowledge-mode

For CORBA message listener components that have been migrated from EAServer 5.x. Applies only if the remote interface is CtsComponents::MessageListener.

Specifies the acknowledgment mode for MDBs that manage their own transactions. Allowable values are:

  • Auto-acknowledge – The default. The session automatically acknowledges messages.

  • Dups-ok-acknowledge – Instructs a session to lazily acknowledge messages, which reduces a session’s workload but may lead to duplicate message deliveries.

MDB Topic Name

topic

For CORBA message listener components that have been migrated from EAServer 5.x. Applies only if the remote interface is CtsComponents::MessageListener.

For MDBs associated with a message topic, specifies the name of the topic.

MDB Destination Type

mdb.destination-type

For CORBA message listener components that have been migrated from EAServer 5.x. Applies only if the remote interface is CtsComponents::MessageListener.

Specifies whether the component listens on a JMS topic or message queue. Allowable values are:

  • javax.jms.Topic

  • javax.jms.Queue

The default is javax.jms.Queue

MDB Queue Name

queue

For CORBA message listener components that have been migrated from EAServer 5.x. Applies only if the remote interface is CtsComponents::MessageListener.

For MDBs associated with a message queue, specifies the name of the queue.

MDB Message Selector

mdb.message-selector

For CORBA message listener components that have been migrated from EAServer 5.x. Applies only if the remote interface is CtsComponents::MessageListener.

If the component listens on a message queue, specifies the message selector. The message service uses the selector to filter the message that it delivers to the queue. Use the syntax:

topic=’topicString

Where topicString is the selector to filter messages.

MDB Subscription Durability

mdb.subscription-durability

For CORBA message listener components that have been migrated from EAServer 5.x. Applies only if the remote interface is CtsComponents::MessageListener.

For components that listen on a topic, specifies whether the topic is durable or nondurable. Allowable values are:

  • Durable – Durable topic subscriber; guarantees message delivery.

  • NonDurable – Nondurable topic subscriber; can receive published messages only while it is connected to EAServer.

MDB Thread Count

mdb.thread-count

For CORBA message listener components that have been migrated from EAServer 5.x. Applies only if the remote interface is CtsComponents::MessageListener.

Specifies the number of instances that EAServer creates to respond to incoming messages. Multiple instances can run simultaneously and may improve performance. The default is 1.