You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Overview

CXF includes a "local" transport. This transport allows you to send messsages more efficiently inside a JVM. The messages will serialized and piped from one endpoint to another.

The local transport supports URIs of the structure "local://{endpoint_name}" where {endpoint_name} is any set of characters. To use the local transport you simply need to set your address to a local URI.

Examples

JAX-WS

This code shows how to publish on a local endpoint:

import javax.xml.ws.Endpoint;

HelloServiceImpl serverImpl = new HelloServiceImpl();
Endpoint.publish("local://hello", serverImpl);

Or with XML:

<jaxws:endpoint name="helloWorld" address="local://hello" implementor="org.example.HelloServiceImpl"/>

Simple Frontend

You can also pass in a local:// address to the server and client factory beans:

import org.apache.cxf.frontend.ServerFactoryBean;

ServerFactoryBean sf = new ServerFactoryBean();
sf.setAddress("local://hello");
sf.setServiceBean(new HelloServiceImpl());
sf.setServiceClass(HelloService.class); // Optionally specify the service interface
sf.create();
import org.apache.cxf.frontend.ClientProxyFactoryBean;

ClientProxyFactoryBean cf = new ClientProxyFactoryBean();
cf.setAddress("local://hello");
cf.setServiceClass(HelloService.class); // Optionally specify the service interface
HelloService h = (HelloService) cf.create();
  • No labels