Значение BigDecimal всегда равно нулю при передаче с помощью Spring Remoting через Hessian

Когда я вызываю удаленный метод, который возвращает значение BigDecimal с помощью функции Spring Hessian, он всегда возвращает ноль. Вызов метода напрямую или с помощью простого сервлета Hessian (не Spring )работает нормально.

Что можно сделать, чтобы исправить это?

Сторона сервера (Tomcat 7)

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <servlet>
        <servlet-name>remoting</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>remoting</servlet-name>
        <url-pattern>/remoting/*</url-pattern>
    </servlet-mapping>
</web-app>

удаленное взаимодействие -servlet.xml:

<beans>
    <context:annotation-config />
    <context:component-scan base-package="hr.spi.logic.lcspi" />

    <tx:annotation-driven proxy-target-class="true" />

    <bean name="/lcspi/lc302/poslovi" class="org.springframework.remoting.caucho.HessianServiceExporter">
        <property name="service" ref="posloviLogic" />
        <property name="serviceInterface" value="hr.spi.logic.lcspi.lc302.PosloviLogicInterface" />
    </bean>
</beans>

Класс обслуживания, метод которого я вызываю:

package hr.spi.logic.lcspi.lc302;

@Transactional
@Repository
public class PosloviLogic implements PosloviLogicInterface {
    @Override
    public BigDecimal test()
    {
        BigDecimal bd = new BigDecimal("2.2"); 
        return bd;      
    }
}

Клиентская сторона

Конфигурация Spring -applicationContextHessian.xml:

<beans>
    <bean id="posloviLogic" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
        <property name="serviceUrl" value="http://localhost:8080/SpringWebTest/remoting/lcspi/lc302/poslovi" />
        <property name="serviceInterface" value="hr.spi.logic.lcspi.lc302.PosloviLogicInterface" />
    </bean>
</beans>

Тест консольного приложения:

public static void main(String[] args) {
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContextHessian.xml");
    try {
        PosloviLogicInterface posloviLogic = (PosloviLogicInterface) context.getBean("posloviLogic");

        BigDecimal bd = posloviLogic.test();
        System.out.println(bd); // This returns 0.00

    } catch (Exception ex) {
        System.out.println(ex.getMessage());
    }
}

РЕДАКТИРОВАТЬ :Использовались библиотеки Spring 3.2 и Hessian 4.0.7

-. 121 ---1618781- python :извлечение одного фрагмента многомерного массива с заданным индексом измерения Я знаю, как взять x[ :, :, :, :,j, :] (, который занимает j-й срез размерности 4 ). Есть ли способ сделать то же самое, если размер известен во время выполнения и не является известной константой?

Я знаю, как приниматьx[:,:,:,:,j,:](который занимает j-й срез размерности 4 ).

Есть ли способ сделать то же самое, если размер известен во время выполнения и не является известной константой?

7
задан Jason S 28 June 2012 в 16:56
поделиться