Announcement Announcement Module
Collapse
No announcement yet.
HttpInvoker and SLSB Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • HttpInvoker and SLSB

    This might have been answered somewhere but i just can't seem to find the solution.

    I simply wnt to expose my SLSB through HttpInvoker so my rich client can access it. My app is packaged in ear.

    ws.servlet
    Code:
      <!-- HttpInvoker exporter for the core service -->
      <bean name="/rbacx-httpInvoker" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
        <property name="service"><ref bean="core"/></property>
        <property name="serviceInterface"><value>com.vaau.core.MainService</value></property>
      </bean>
    what i want to is have something like this
    Code:
    <bean id="core" lazy-init="true" class="org.springframework.ejb.access.LocalStatelessSessionProxyFactoryBean">
            <property name="jndiName">
    	    <value>local/coreSLSB</value>
    	</property>
    	<property name="businessInterface">
    	    <value>com.vaau.core.MainService</value>
    	</property>
        </bean>
    I just not sure where to define this bean "core". I have tried declaring this into my aplicationContext.xml but when i executure my business method I get,
    Code:
    org.springframework.beans.FatalBeanException: Unable to return specified BeanFactory instance: factory key [java:comp/env/ejb/BeanFactoryPat
    h], from group with resource name [classpath*:beanRefContext.xml]; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitio
    nException: No bean named 'java:comp/env/ejb/BeanFactoryPath' is defined: org.springframework.beans.factory.support.DefaultListableBeanFacto
    ry defining beans []; root of BeanFactory hierarchy
    org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'java:comp/env/ejb/BeanFactoryPath' is defined: org.springfra
    mework.beans.factory.support.DefaultListableBeanFactory defining beans []; root of BeanFactory hierarchy
            at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:332)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:672)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:207)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:159)
            at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:496)
            at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory(SingletonBeanFactoryLocator.java:387)
            at org.springframework.ejb.support.AbstractEnterpriseBean.loadBeanFactory(AbstractEnterpriseBean.java:115)
            at org.springframework.ejb.support.AbstractStatelessSessionBean.ejbCreate(AbstractStatelessSessionBean.java:63)
    Please help me !!! I am going Nuts over this...

    Amad
    [/quote]
    Last edited by afida; May 30th, 2006, 01:02 AM.

  • #2
    The problem appears to be caused by the fact the your SLSB extends AbstractStatelessSessionBean. You should only extends this class if you need to access a Spring application context in your SLBS. If you don't need that try overwriting the setSessionContext and ejbCreate methods like this:

    Code:
       public void setSessionContext&#40;SessionContext sessionContext&#41; &#123;
           super.setSessionContext&#40;sessionContext&#41;;
           setBeanFactoryLocator&#40;null&#41;;
       &#125;
    
       public void ejbCreate&#40;&#41; &#123;
           onEjbCreate&#40;&#41;;
       &#125;
    If you do this make sure you don't call the getBeanFactory or you will get a NullPointerException. You may also consider to not extend AbstractStatelessSessionBean at all.

    Comment


    • #3
      THanks, But i think i need to accesss the spring context as i have my business interface implmentation bean defined in context. Because slsb uses this delegate to get implementation.

      Amad

      Comment


      • #4
        I refer to another post I wrote today:

        http://forum.springframework.org/sho...367&highlight=

        If you're interested let me know.
        Last edited by robyn; May 19th, 2006, 06:30 AM.

        Comment


        • #5
          If thats the only way to have a shared context between web app and ejb then yes i am very much interested.

          Thanks

          Amad

          Comment


          • #6
            If thats the only way to have a shared context between web app and ejb then yes i am very much interested.
            I'll get back to you when it's finished.

            Comment

            Working...
            X