2 Replies Latest reply on Mar 29, 2013 12:18 AM by ggireeshg

    Web -Services connection Handling

    ggireeshg

      Hi All,
      1. I have implemented a web service with connection pooling(oracle-ds.xml) with JBoss server. In My business class, i am getting connection from pool and performing 4 to 5 DB operations, at last closing connection, statements and result set. It is working fine for one request.
      2.If i tried for concurrent requests (Consider 5) only 1 or 2 processed, remaining failed with several reasons like (connection closed, statement closed, unusable connection, result set closed etc).
      3.If i keep business class method as "synchronized" it is working fine. But it is serving only one request at a time (for concurrent request also). - This is slow downs my response time.

      I came to know, This is connections problem, if one thread is doing DB operation, other thread is closing the connection or statement or result set.

      Can any one help and tell me how to handle concurrent requests with out synchronized keyword.

      Thanks in Advance.

        • 1. Re: Web -Services connection Handling
          lafr

          We need more information.

          Can you show us a class model?

          Web-Service class and business class are different classes?

          Business class is an EJB or a POJO?

          Show us the code and the place where you put the "synchronized" keyword as a workaround.

          • 2. Re: Web -Services connection Handling
            ggireeshg

            Hi Frank,

            Thanks for your replay. Still my problem exists, but managing with synchronized it leads performance issues.

            My webservice class looks like

             

            TestService.java

             

            {

            private Business business;

            public Business getbusiness() {

                    return business;

                }

             

                public void setbusiness(Business business) {

                    this.business= business;

                }

             

            business.validateMember()   // business is the object wich i created using spring ioc, which is singleton false, below mentined the code snippet.

             

            }

             

            Business Class

             

            Business.java

            {

             

            synchronized validateMember()

            {

            // java code.

             

            }

             

            }

             

            application-context.xml

            -------------------------------------

            <bean id="business" class="org.core.Business" singleton="false">

            <bean id="testService" class="org.core.TestService" singleton="false">

                    <property name="business"><ref bean="business"/></property>

                 </bean>