[graniteds@yahoo] Re: Proxy Spring problem

5 views
Skip to first unread message

Franck Wolff

unread,
Mar 30, 2010, 4:28:52 AM3/30/10
to gran...@googlegroups.com
[Message #611, From: "krish_nandi" <krishnen...@morganstanley.com>, Date: Tue Sep 11 12:28:00 CEST 2007]

Hi Franck,

Step 1:(Note I had run the ditrib.all of build.xml and then imported
the jar in my project)
I added a new class which has the following code
package org.granite.messaging.amf.io.util;

import org.apache.log4j.Logger;
import org.springframework.aop.framework.ProxyConfig;

public class SpringClassGetter extends DefaultClassGetter{

public final static Logger log = Logger.getLogger
(SpringClassGetter.class);

@Override
public Class<?> getClass(Object o) {

if(o instanceof ProxyConfig)
{
ProxyConfig proxy=(ProxyConfig)o;
Class clazz = proxy.getClass();
return clazz;
}
return super.getClass(o);
}
}

Step 2:
Added in granite config
<classgetter
type="org.granite.messaging.amf.io.util.SpringClassGetter"/>

Step 3:
Already have spring.jar in my classpath

Also my filter in web.xml looks like this
<filter>
<filter-name>AMFMessageFilter</filter-name>
<filter-
class>org.granite.messaging.webapp.AMFMessageFilter</filter-class>
<init-param>
<param-name>servicesConfigPath</param-name>
<param-value>/WEB-INF/config/services-
config.xml</param-value>
</init-param>
<init-param>
<param-name>graniteConfigPath</param-name>
<param-value>/WEB-INF/config/granite-
config.xml</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>AMFMessageFilter</filter-name>
<url-pattern>/graniteamf/*</url-pattern>
</filter-mapping>

Result:

SEVERE: Error filterStart
11-Sep-2007 15:49:12 org.apache.catalina.core.StandardContext start
SEVERE: Context [/onecrm] startup failed due to previous errors
11-Sep-2007 15:49:13 org.apache.catalina.core.StandardContext
processTlds
SEVERE: Error reading tld listeners java.lang.NullPointerException
java.lang.NullPointerException
at org.apache.log4j.Category.isEnabledFor(Category.java:757)
at org.apache.commons.logging.impl.Log4JLogger.isTraceEnabled
(Log4JLogger.java:327)
at org.apache.catalina.startup.TldConfig.tldScanResourcePaths
(TldConfig.java:581)
at org.apache.catalina.startup.TldConfig.execute
(TldConfig.java:282)
at org.apache.catalina.core.StandardContext.processTlds
(StandardContext.java:4302)
at org.apache.catalina.core.StandardContext.start
(StandardContext.java:4139)
at org.apache.catalina.core.ContainerBase.addChildInternal
(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild
(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild
(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirectory
(HostConfig.java:904)
at org.apache.catalina.startup.HostConfig.deployDirectories
(HostConfig.java:867)
at org.apache.catalina.startup.HostConfig.deployApps
(HostConfig.java:474)
at org.apache.catalina.startup.HostConfig.start
(HostConfig.java:1122)
at org.apache.catalina.startup.HostConfig.lifecycleEvent
(HostConfig.java:310)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent
(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start
(ContainerBase.java:1021)
at org.apache.catalina.core.StandardHost.start
(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start
(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start
(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start
(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start
(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start
(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start
(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main
(Bootstrap.java:432)
11-Sep-2007 15:49:13 org.apache.coyote.http11.Http11BaseProtocol
start


Kindly Suggest:
Thanks
Krish.

--- In <a href="/group/graniteds/post?postID=OTqq_QcXQViJ72IJtuvejYtAoRFzubXWaGiMI6JTkcjkjjAyd0ipAXExq6mq97I88bbjp7d113gfNDROzs1eOEBF9Q">gran...@yahoogroups.com</a>, "fwolff999" <franck.wolff@...>
wrote:
>
> Hi,
>
> I don't know anything about Spring but it seems to be a problem
> addressed by the configurable ClassGetter option: look at the
> org.granite.messaging.amf.io.util.ClassGetter interface and the
> org.granite.hibernate.HibernateClassGetter implementation. Then
either
> use the HibernateClassGetter (if your accountManagerImpl is an
Hibernate
> bean) or write a Spring specific ClassGetter (if it's a Spring
specific
> proxy).
>
> You will have to configure your granite-config.xml like this:
>
> <granite-config>
> <classgetter type="path.to.a.SpecificClassGetter"/>
> ...
> <granite-config>
>
> Regards (if you implement a reusable ClassGetter for Spring, post
it, I
> will integrate it the next release),
> Franck.
>
> --- In <a href="/group/graniteds/post?postID=OTqq_QcXQViJ72IJtuvejYtAoRFzubXWaGiMI6JTkcjkjjAyd0ipAXExq6mq97I88bbjp7d113gfNDROzs1eOEBF9Q">gran...@yahoogroups.com</a>, "krish_nandi"
<krishnendra.nandi@>
> wrote:
> >
> >
> > Hi
> >
> > I tried to register a bean through ProxyFactoryBean in Spring
and the
> > relevant bean from Granite but it seems to register the Proxy
object
> > rather than the underlying object been referenced ...Any
> suggestions...
> > Here is my releavant code..
> >
> > Registering the bean factory....
> >
> > <service id="granite-service"
> > class="flex.messaging.services.RemotingService"
> >
messageTypes="flex.messaging.messages.RemotingMessage">
> > <destination id="accountAS">
> > <channels>
> > <channel ref="my-graniteamf" />
> > </channels>
> > <properties>
> > <factory>springFactory</factory>
> > <source>accountManager</source>
> > </properties>
> > </destination>
> > </service>
> >
> > Spring configuration file -->
> >
> > <bean id="accountManagerTarget"
> >
class="com.msdw.onecrm.service.implemetations.AccountManagerImpl">
> > <property name="accountDao" ref="accountDao"></property>
> > </bean>
> > <bean id="accountManager"
> > class="org.springframework.aop.framework.ProxyFactoryBean">
> > <property
> >
>
name="proxyInterfaces"><value>com.msdw.onecrm.service.interfaces.Acco
unt\
> \
> > Manager</value></property>
> > <property name="interceptorNames">
> > <list>
> > <value>exceptionInterceptor</value>
> > </list>
> > </property>
> > <property name="target">
> > <value>accountManagerTarget</value>
> > </property>
> > </bean>
> >
> > It tries to look for $proxy.getAccounts rather than
> > accountManagerImpl.getAccounts....
> >
> > Any suggestions towards this would be extremely helpful
> >
> > Thank in advance
> >
>


Franck Wolff

unread,
Mar 30, 2010, 4:28:54 AM3/30/10
to gran...@googlegroups.com
[Message #612, From: "fwolff999" <franck...@graniteds.org>, Date: Tue Sep 11 17:52:00 CEST 2007]

Hi,

Try to follow instructions given here:
<a href="http://forum.springframework.org/showthread.php?t=30800">http://forum.springframework.org/showthread.php?t=30800</a>

Hope this help (this must be a config problem anyway),
Franck.

--- In <a href="/group/graniteds/post?postID=6XpuXdGVrCnaXCSf7x99j_YwIemo1F16_XWk6nBEeMM7NPs9r0xOuJFYYIpLMXpJTquKOOPD-YJ4E2mFVQmM">gran...@yahoogroups.com</a>, "krish_nandi"

> --- In <a href="/group/graniteds/post?postID=6XpuXdGVrCnaXCSf7x99j_YwIemo1F16_XWk6nBEeMM7NPs9r0xOuJFYYIpLMXpJTquKOOPD-YJ4E2mFVQmM">gran...@yahoogroups.com</a>, "fwolff999" <franck.wolff@>


> wrote:
> >
> > Hi,
> >
> > I don't know anything about Spring but it seems to be a problem
> > addressed by the configurable ClassGetter option: look at the
> > org.granite.messaging.amf.io.util.ClassGetter interface and the
> > org.granite.hibernate.HibernateClassGetter implementation. Then
> either
> > use the HibernateClassGetter (if your accountManagerImpl is an
> Hibernate
> > bean) or write a Spring specific ClassGetter (if it's a Spring
> specific
> > proxy).
> >
> > You will have to configure your granite-config.xml like this:
> >
> > <granite-config>
> > <classgetter type="path.to.a.SpecificClassGetter"/>
> > ...
> > <granite-config>
> >
> > Regards (if you implement a reusable ClassGetter for Spring, post
> it, I
> > will integrate it the next release),
> > Franck.
> >

> > --- In <a href="/group/graniteds/post?postID=6XpuXdGVrCnaXCSf7x99j_YwIemo1F16_XWk6nBEeMM7NPs9r0xOuJFYYIpLMXpJTquKOOPD-YJ4E2mFVQmM">gran...@yahoogroups.com</a>, "krish_nandi"

Reply all
Reply to author
Forward
0 new messages