You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.1 KiB
70 lines
2.1 KiB
/* |
|
* Copyright 2002-2013 the original author or authors. |
|
* |
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
* you may not use this file except in compliance with the License. |
|
* You may obtain a copy of the License at |
|
* |
|
* https://www.apache.org/licenses/LICENSE-2.0 |
|
* |
|
* Unless required by applicable law or agreed to in writing, software |
|
* distributed under the License is distributed on an "AS IS" BASIS, |
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
* See the License for the specific language governing permissions and |
|
* limitations under the License. |
|
*/ |
|
|
|
package com.fr.third.springframework.remoting.caucho; |
|
|
|
import com.fr.third.springframework.aop.framework.ProxyFactory; |
|
import com.fr.third.springframework.beans.factory.FactoryBean; |
|
|
|
/** |
|
* {@link FactoryBean} for Hessian proxies. Exposes the proxied service |
|
* for use as a bean reference, using the specified service interface. |
|
* |
|
* <p>Hessian is a slim, binary RPC protocol. |
|
* For information on Hessian, see the |
|
* <a href="http://hessian.caucho.com">Hessian website</a> |
|
* <b>Note: As of Spring 4.0, this proxy factory requires Hessian 4.0 or above.</b> |
|
* |
|
* <p>The service URL must be an HTTP URL exposing a Hessian service. |
|
* For details, see the {@link HessianClientInterceptor} javadoc. |
|
* |
|
* @author Juergen Hoeller |
|
* @since 13.05.2003 |
|
* @see #setServiceInterface |
|
* @see #setServiceUrl |
|
* @see HessianClientInterceptor |
|
* @see HessianServiceExporter |
|
* @see com.fr.third.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean |
|
* @see com.fr.third.springframework.remoting.rmi.RmiProxyFactoryBean |
|
*/ |
|
public class HessianProxyFactoryBean extends HessianClientInterceptor implements FactoryBean<Object> { |
|
|
|
private Object serviceProxy; |
|
|
|
|
|
@Override |
|
public void afterPropertiesSet() { |
|
super.afterPropertiesSet(); |
|
this.serviceProxy = new ProxyFactory(getServiceInterface(), this).getProxy(getBeanClassLoader()); |
|
} |
|
|
|
|
|
@Override |
|
public Object getObject() { |
|
return this.serviceProxy; |
|
} |
|
|
|
@Override |
|
public Class<?> getObjectType() { |
|
return getServiceInterface(); |
|
} |
|
|
|
@Override |
|
public boolean isSingleton() { |
|
return true; |
|
} |
|
|
|
}
|
|
|