SimpleJdbcCall can not call more than one procedure

Viewed 7634

SimpleJdbcCall can not call more than one procedure

this is my test code :

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.simple.SimpleJdbcCall;


public class TestCall {

    public static void main(String[] args) {

        ApplicationContext context = new ClassPathXmlApplicationContext(
                new String[] { "spring/applicationContext.xml",
                        "spring/applicationDb.xml" });

        SimpleJdbcCall call = context.getBean("simpleJdbcCall",
                SimpleJdbcCall.class);

        call.withProcedureName("proc1").execute("p1", "p2");

        System.out.println("CallString: " + call.getCallString());

        call.withProcedureName("proc2").execute("p1");

        System.out.println("CallString: " + call.getCallString());

    }
}

in the code , I defined simpleJdbcCall

<bean id="simpleJdbcCall" class="org.springframework.jdbc.core.simple.SimpleJdbcCall" >
    <constructor-arg ref="dataSource" />
</bean>

and procedure proc1 receives 2 paramaters , adn procedure proc2 receives 1 paramater.

When I run it, exception occured.

Then I debug and found out that AbstractJdbcCall.callString is still CallString: {call proc1(?, ?)} when call proc2.

So, is it a Spring's bug ?

And Is there anyone to tell me how to contact the author Thomas Risberg ?

2 Answers
Related