Deploying to an Oracle CEP Server Domain Group Using the Deployer Utility Deploying to an Oracle CEP Server Custom Group Using the Deployer Utility

9 Configuring Network IO for Oracle CEP 9-1 9 Configuring Network IO for Oracle CEP This chapter contains information on the following topics: ■ Section 9.1, Overview of Network IO in Oracle CEP ■ Section 9.2, Configuring Network IO Server netio ■ Section 9.3, Configuring Network IO Client netio-client

9.1 Overview of Network IO in Oracle CEP

Oracle CEP supports network InputOutput IO over Transmission Control ProtocolInternet Protocol TCPIP using a variety of providers in both server and client mode. You may define a network IO service for both Secure Socket Layer SSL and non-SSL network access. Oracle CEP supports both IPv4 and IPv6. The following Oracle CEP services depend on network IO configuration: ■ jetty: depends on network IO server netio configuration. ■ weblogic-rmi-client: depends on network IO client netio-client configuration. For more information, see: ■ Section 9.1.1, Network IO Providers ■ Section 9.1.2, IPv4 and IPv6 Support ■ Section 9.2, Configuring Network IO Server netio ■ Section 9.3, Configuring Network IO Client netio-client ■ Chapter 10, Configuring Security for Oracle CEP ■ Chapter 11, Configuring Jetty for Oracle CEP

9.1.1 Network IO Providers

Table 9–1 lists the network IO providers that Oracle CEP supports. 9-2 Oracle Complex Event Processing Administrators Guide Example 9–1 shows how to specify a provider in the Oracle CEP server config.xml file netio element using the provider-type child element. Example 9–1 Oracle CEP netio Element With provider-type Defined netio namemyNetioname port12345port provider-typenon-blockingprovider-type netio

9.1.2 IPv4 and IPv6 Support

Oracle CEP server is certified for use with IPv4 only or IPv4IPv6 dual-stack. Oracle CEP does not support IPv6. For more information about IPv6, see RFC 2460: Internet Protocol, Version 6 IPv6 Specification http:www.ietf.orgrfcrfc2460.txt .

9.2 Configuring Network IO Server netio

You can define a network IO service that may be used by other services to act as the server and listen for incoming connections. Table 9–1 Oracle CEP Network IO Providers provider-type SSL? Description non-blocking No A non-blocking provider provides fully non-blocking IO for reads and writes. That means that each call to read or write on the Connection interface will return immediately without blocking. If the underlying connection is not ready, then the read or write call will simply return zero. At that point, the calling code must use one of the notification mechanisms in the NetIO API to wait until the connection is ready to read or write. Non-Blocking providers may also support a non-blocking connect call, which means that a thread need not block if it takes a long time to establish or fail to establish a connection to a remote server. Provider class: com.bea.core.netio.provider.noblock.NIOEngine. semi-blocking No A semi-blocking provider provides non-blocking IO for the read call, but each write call blocks until the data has been handed to the TCPIP stack. Some platforms provide mechanisms that make it possible to implement a write-blocking provider that is faster than a fully non-blocking provider, but still allows for high scalability. Provider class: ■ Linux with JRockit: com.bea.core.netio.provider.jrockit.JRockitEngine ■ Windows: com.bea.core.netio.provider.nativeasync.NativeAsyncEn gine blocking No A blocking provider blocks on each read and write call until it is complete. If there is no data ready to read, then read will block until there is. This type of provider is much less scalable because there must be a thread waiting for each network connection that might have data. Oracle recommends that this type of provider should not typically be used. Provider class: com.bea.core.netio.provider.block.BlockingEngine. native No The NativeAsyncEngine will be tried. If it is not supported, then an error will be raised. NIO 1 1 Default provider-type. Yes The NIOEngine will always be used.