Hi,
I'm seeing a problem where a class with multiple bounds is 'losing' one of
its bounds after weaving occurs.
Even more strange is that it is only happening on a specific platform.
a brief outline of the problem:
Source class:
public class ExistenceByIdSpecification<D extends AbstractDomainObject &
Identifiable> extends ExistenceSpecification<D> implements
IExistenceByIdSpecification
What happens is the 'AbstractDomainObject' bound (which is a class) is
disappearing, and in the bytecode we end up with something like this:
public class ExistenceByIdSpecification<D extends Identifiable> extends
ExistenceSpecification<D> implements IExistenceByIdSpecification,
org.springframework.beans.factory.aspectj.ConfigurableObject
this results is a runtime error whenever the constructor is called (I've
removed package names - this is from a unit test):
ExistenceByIdSpecification.<init>(L/Identifiable;)V"
type="java.lang.NoSuchMethodError"><![CDATA[java.lang.NoSuchMethodError:
ExistenceByIdSpecification.<init>(L/Identifiable;)V
at
ExistenceByIdSpecificationTest.<init>(ExistenceByIdSpecificationTest.java:33)
Also, the bytecode for the class is quite a bit larger on the environment
where this isn't working properly - it looks like stuff related to
@Configurable is repeated.
I'm suspecting AspectJ here because when I compile the code with AspectJ
disabled, the bytecode looks correct.
The environments details I've tried are:
*works properly:*
Windows 7
Manjaro Linux (current version)
Oracle JDK 1.7.0_79
AspectJ 1.8.6
*Doesn't work:*
CentOS 7
Oracle JDK 1.7.0_79, Oracle JDK 1.8.0_65, OpenJDK 1.7.0
AspectJ 1.8.6, 1.8.8
Unfortunately we want to target CentOS as a build platform, so that's why
this is a problem for us!
I've only included basic details here to see if anyone has heard of this
problem. I'm happy to provide more detail if required. I know that a
sample project is ideal, but I may struggle to reproduce that (although I
will try).
Thanks,
_______________________________________________
aspectj-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/aspectj-users