[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] DI Constructor issue

Hi,

You might have more luck with this question on the Spring AOP forums at:

http://forum.springsource.org/forumdisplay.php?f=31

I'm not an expert (although I really ought to be...) on the spring
configuration with AspectJ.

cheers,
Andy

On 3 June 2010 03:54, Yetti <elliot.trussell@xxxxxxxxxxxxx> wrote:
>
> Hi,
>
> Ive just started using aop for some simple logging in a new project. Ive
> read through quite a few threads and various sites but cant seem to quite
> understand why Im getting the problem.
>
> I am using Spring 2.5.5 to inject various classes for a JMS project and also
> using the schema based spring-aop namespace due to being restricted to
> 1.4jvm. I am also using aspectJ 1.5.4.
>
> The problem is that although logging seems to work fine for any classes that
> use a default constructor, classes that have constructors with args; 1. dont
> get logging and 2. throw an error within the DI that seems to be a
> nullpointer issue, Im only guessing at this as no info is given.
>
> What I also dont understand is that I am using the method pointcut pattern
> so why is this causing a problem with the constructor?
>
> Heres my code, Hope Im not just being dumb (though most likely!)
>
> <bean id="sonicConfig"
>
> class="com.homeserve.guidewire.plugins.messaging.edi.outbound.transport.SonicConfig">
>                <constructor-arg
> value="SonicBroker=tcp://hgbsmdev02.hgb.hs.int:2531;SonicUsername=Administrator;SonicPassword=Administrator"
> />
> </bean>
>
>        <bean id="aopLogging"
>
> class="com.homeserve.guidewire.plugins.messaging.edi.logging.LoggingInterceptor">
>        </bean>
>
>        <aop:config proxy-target-class="false">
>                <aop:aspect id="aopLoggingAspect" ref="aopLogging">
>
>                        <aop:pointcut id="loggingPointCut"
>                                expression="execution( *
> com.homeserve.guidewire.plugins.messaging.edi.outbound..*.*(..))" />
>
>                        <aop:around method="aopLogging" pointcut-ref="loggingPointCut" />
>
>                </aop:aspect>
>        </aop:config>
>
>    public SonicConfig(String sonicConnectionString) throws ParseException
>    {
>        this.sonicConnectionString = sonicConnectionString;
>        parseSonicConnectionString();
>    }
>
> public class LoggingInterceptor {
>
>        public Object aopLogging(ProceedingJoinPoint pjp) throws Throwable{
>                Logger log = Logger.getLogger(LoggingInterceptor.class);
>                Object retValue = null;
>                Object[] args = pjp.getArgs();
>                try     {
>
>                        StringBuffer entering = new StringBuffer();
>                        StringBuffer leaving = new StringBuffer();
>                        Signature sig = pjp.getSignature();
>                                String clazz = pjp.getSignature().getDeclaringType().getName();
>                                entering.append(clazz.substring(clazz.lastIndexOf(".")+1,
> clazz.length()));
>                                entering.append(".");
>                                entering.append(sig.getName());
>                                entering.append("(");
>                                leaving.append(entering.toString());
>                                for (int i = 0; i < args.length; i++) {
>                                        if (i > 0) {
>                                                entering.append(", ");
>                                        }
>                                        entering.append(args[i]);
>                                }
>                                entering.append(")]");
>                                SourceLocation sl = pjp.getSourceLocation();
>                                log.info("Entering [" + entering);
>
>                        retValue =  pjp.proceed();
>
>                        leaving.append(")");
>                        log.info("Leaving [" + leaving + " Return value: " + retValue);
>
>                }
>                catch (Exception e)
>                {
>                        log.error(e);
>                }
>                return retValue;
>        }
> }
>
> Thanks
> Yetti
> --
> View this message in context: http://aspectj.2085585.n4.nabble.com/DI-Constructor-issue-tp2241500p2241500.html
> Sent from the AspectJ - users mailing list archive at Nabble.com.
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>