title: java.lang.IllegalArgumentException: error Type referred to is not an annotation type
body: <p>I got the following advice :-</p>
  
  <pre><code>@Before(value="@annotation(loggable)", argNames="joinPoint, loggable")
      public void before(JoinPoint joinPoint, Loggable loggable) {
          Class&lt;? extends Object&gt; clazz = joinPoint.getTarget().getClass();
          MethodSignature methodSignature = (MethodSignature) joinPoint
                  .getSignature();
          Method method = methodSignature.getMethod();
          String methodName = joinPoint.getSignature().getName();
          Object[] args = joinPoint.getArgs();
          RequestMapping myAnnotation = method
                  .getAnnotation(RequestMapping.class);
          CodeSignature codeSignature = (CodeSignature) joinPoint
                  .getSignature();
          String[] argNames = codeSignature.getParameterNames();
          logger.info(".....");
  
      }
  </code></pre>
  
  <p>in Class LoggerAspect:</p>
  
  <pre><code>package net.prcins.esales.web.aspects;
  
  
  
  import java.lang.reflect.Method;
  
  import net.prcins.esales.aspect.IRequestLogger;
  import net.prcins.esales.log.annotation.Loggable;
  
  import org.aspectj.lang.JoinPoint;
  import org.aspectj.lang.annotation.AfterReturning;
  import org.aspectj.lang.annotation.AfterThrowing;
  import org.aspectj.lang.annotation.Aspect;
  import org.aspectj.lang.annotation.Before;
  import org.aspectj.lang.reflect.CodeSignature;
  import org.aspectj.lang.reflect.MethodSignature;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  import org.springframework.web.bind.annotation.RequestMapping;
  import org.springframework.web.bind.annotation.RequestMethod;
  
  @Aspect
  public class LoggerAspect implements IRequestLogger{
  
      static Logger logger = LoggerFactory.getLogger("LoggerAspect");
  
      long startTime;
  
      //@Before(value = "execution(* net.prcins.esales.web.controller..*(..)) &amp;&amp; @annotation(org.springframework.web.bind.annotation.RequestMapping)", argNames="joinPoint, loggable")
  
      @Before(value="@annotation(net.prcins.esales.log.annotation.Loggable)", argNames="joinPoint, loggable")
      public void before(JoinPoint joinPoint, Loggable loggable) {
          Class&lt;? extends Object&gt; clazz = joinPoint.getTarget().getClass();
          MethodSignature methodSignature = (MethodSignature) joinPoint
                  .getSignature();
          Method method = methodSignature.getMethod();
          String methodName = joinPoint.getSignature().getName();
          Object[] args = joinPoint.getArgs();
          RequestMapping myAnnotation = method
                  .getAnnotation(RequestMapping.class);
          CodeSignature codeSignature = (CodeSignature) joinPoint
                  .getSignature();
          String[] argNames = codeSignature.getParameterNames();
          logger.info(
                  "Entering Method [{}] RequestMapping:[{}] QuoteInformation:[{}]",
                  new Object[] {
                          methodName,
                          constructRequestMappingString(method
                                  .getAnnotation(RequestMapping.class)),
                          arguments(argNames, args) });
  
      }
  
  
      public void afterReturning(JoinPoint joinPoint, Object returnValue) {
  
          Class&lt;? extends Object&gt; clazz = joinPoint.getTarget().getClass();
          String methodName = joinPoint.getSignature().getName();
          if (joinPoint.getSignature() instanceof MethodSignature) {
  
              MethodSignature signature = (MethodSignature) joinPoint.getSignature();
              Class&lt;?&gt; returnType = signature.getReturnType();
  
              if ("void".equalsIgnoreCase(returnType.getName())) {
                  logger.debug("  &lt;&lt;&lt;==== Leaving {} " , new Object[] { methodName});
                  return;
              }
          }
          long endTime = System.currentTimeMillis();
          logger.debug( " &lt;&lt;&lt;==== Leaving {} in {} ms returnValue: {}", new Object[] {methodName,(startTime-endTime),constructArgumentsString(clazz, returnValue)}  );
  
      }
  
  
      public void afterThrowing(JoinPoint joinPoint,  Throwable throwable) {
          String methodName = joinPoint.getSignature().getName();
          logger.error(" Exception in method:"+methodName, throwable);
  
      }
  
      private String constructArgumentsString(Class&lt;?&gt; clazz, Object... arguments) {
          StringBuffer buffer = new StringBuffer();
          for (Object object : arguments) {
              if (object instanceof byte[]) {
                  //do nothig
              }else {
                  buffer.append(object);
                  buffer.append(", ");
              }
          }
          return buffer.toString();
      }
  
  
      private String constructRequestMappingString(RequestMapping myAnnotation) {
          StringBuffer buffer = new StringBuffer();
          for (String requestURL : myAnnotation.value()) {
              buffer.append(requestURL);
          }
          for (RequestMethod requestMethod : myAnnotation.method()) {
              buffer.append(", ");
              buffer.append(requestMethod.name().toString());
          }
          return buffer.toString();
  
      }
  
      private String arguments(String[] argNames, Object[] arguments) {
          for (int i = 0; i &lt; arguments.length; i++) {
              if ("model".equalsIgnoreCase(argNames[i])) {
                  String modelInfo = arguments[i].toString();
                  String[] tokens = modelInfo.split(", ");
                  for (String token : tokens) {
                      if (token.startsWith("quoteNumber")) {
                          return token;
                      }
                  }
  
              }
  
          }
          return "";
      }
  
  }
  </code></pre>
  
  <p>and this Annotation:</p>
  
  <pre><code>package net.prcins.esales.log.annotation;
  
  import java.lang.annotation.ElementType;
  import java.lang.annotation.Retention;
  import java.lang.annotation.RetentionPolicy;
  import java.lang.annotation.Target;
  
  import net.prcins.esales.log.LogLevel;
  
  @Retention(RetentionPolicy.RUNTIME)
  @Target(ElementType.METHOD)
  public @interface Loggable {
  
      LogLevel value();
  }
  </code></pre>
  
  <p>Stack Trace :</p>
  
  <pre><code>SEVERE: StandardWrapper.Throwable
  org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageSource' defined in ServletContext resource [/WEB-INF/config/spring/esales-web-context.xml]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cache.config.internalCacheAdvisor': Cannot resolve reference to bean 'org.springframework.cache.annotation.AnnotationCacheOperationSource#0' while setting bean property 'cacheOperationSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cache.annotation.AnnotationCacheOperationSource#0': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error Type referred to is not an annotation type: loggable
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:452)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
      at org.springframework.context.support.AbstractApplicationContext.initMessageSource(AbstractApplicationContext.java:779)
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:460)
      at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631)
      at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588)
      at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645)
      at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508)
      at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449)
      at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133)
      at javax.servlet.GenericServlet.init(GenericServlet.java:160)
      at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
      at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
      at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
      at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
      at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
      at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
      at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
      at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650)
      at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      at java.lang.Thread.run(Thread.java:662)
  Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cache.config.internalCacheAdvisor': Cannot resolve reference to bean 'org.springframework.cache.annotation.AnnotationCacheOperationSource#0' while setting bean property 'cacheOperationSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cache.annotation.AnnotationCacheOperationSource#0': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error Type referred to is not an annotation type: loggable
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
      at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:86)
      at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:100)
      at org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator.findCandidateAdvisors(AnnotationAwareAspectJAutoProxyCreator.java:84)
      at org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator.shouldSkip(AspectJAwareAdvisorAutoProxyCreator.java:107)
      at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessBeforeInstantiation(AbstractAutoProxyCreator.java:278)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:880)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:852)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:446)
      ... 30 more
  Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cache.annotation.AnnotationCacheOperationSource#0': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error Type referred to is not an annotation type: loggable
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
      ... 47 more
  Caused by: java.lang.IllegalArgumentException: error Type referred to is not an annotation type: loggable
      at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:301)
      at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:207)
      at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:193)
      at org.springframework.aop.aspectj.AspectJExpressionPointcut.checkReadyToMatch(AspectJExpressionPointcut.java:182)
      at org.springframework.aop.aspectj.AspectJExpressionPointcut.getClassFilter(AspectJExpressionPointcut.java:163)
      at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:210)
      at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:264)
      at org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:296)
      at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findAdvisorsThatCanApply(AbstractAdvisorAutoProxyCreator.java:117)
      at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:87)
      at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:68)
      at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:359)
      at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:322)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:407)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1461)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
      ... 53 more
  Sep 9, 2014 11:13:11 AM org.apache.catalina.core.StandardContext loadOnStartup
  SEVERE: Servlet /esales-ui-web threw load() exception
  java.lang.IllegalArgumentException: error Type referred to is not an annotation type: loggable
      at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:301)
      at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:207)
      at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:193)
      at org.springframework.aop.aspectj.AspectJExpressionPointcut.checkReadyToMatch(AspectJExpressionPointcut.java:182)
      at org.springframework.aop.aspectj.AspectJExpressionPointcut.getClassFilter(AspectJExpressionPointcut.java:163)
      at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:210)
      at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:264)
      at org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:296)
      at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findAdvisorsThatCanApply(AbstractAdvisorAutoProxyCreator.java:117)
      at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:87)
      at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:68)
      at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:359)
      at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:322)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:407)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1461)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
      at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans(BeanFactoryAdvisorRetrievalHelper.java:86)
      at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors(AbstractAdvisorAutoProxyCreator.java:100)
      at org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator.findCandidateAdvisors(AnnotationAwareAspectJAutoProxyCreator.java:84)
      at org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator.shouldSkip(AspectJAwareAdvisorAutoProxyCreator.java:107)
      at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessBeforeInstantiation(AbstractAutoProxyCreator.java:278)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:880)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveBeforeInstantiation(AbstractAutowireCapableBeanFactory.java:852)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:446)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
      at org.springframework.context.support.AbstractApplicationContext.initMessageSource(AbstractApplicationContext.java:779)
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:460)
      at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631)
      at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588)
      at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645)
      at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508)
      at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449)
      at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133)
      at javax.servlet.GenericServlet.init(GenericServlet.java:160)
      at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
      at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
      at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
      at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
      at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
      at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
      at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
      at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650)
      at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      at java.lang.Thread.run(Thread.java:662)
  Sep 9, 2014 11:13:11 AM org.apache.catalina.startup.HostConfig deployDescriptor
  INFO: Deploying configuration descriptor C:\springsource\vfabric-tc-server-developer-2.7.2.RELEASE\base-instance\conf\Catalina\localhost\MylesERemindersEnterprise.xml
  Sep 9, 2014 11:13:11 AM org.apache.catalina.startup.SetContextPropertiesRule begin
  WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:MylesERemindersEnterprise' did not find a matching property.
  Sep 9, 2014 11:13:11 AM org.apache.catalina.startup.HostConfig deployDescriptor
  INFO: Deploying configuration descriptor C:\springsource\vfabric-tc-server-developer-2.7.2.RELEASE\base-instance\conf\Catalina\localhost\MylesERemindersWeb.xml
  Sep 9, 2014 11:13:11 AM org.apache.catalina.startup.SetContextPropertiesRule begin
  WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:MylesERemindersWeb' did not find a matching property.
  Sep 9, 2014 11:13:11 AM org.apache.catalina.startup.HostConfig deployDirectory
  INFO: Deploying web application directory C:\springsource\vfabric-tc-server-developer-2.7.2.RELEASE\base-instance\webapps\manager
  Sep 9, 2014 11:13:11 AM org.apache.catalina.startup.HostConfig deployDirectory
  INFO: Deploying web application directory C:\springsource\vfabric-tc-server-developer-2.7.2.RELEASE\base-instance\webapps\ROOT
  Sep 9, 2014 11:13:11 AM org.apache.coyote.AbstractProtocol start
  INFO: Starting ProtocolHandler ["http-bio-8080"]
  Sep 9, 2014 11:13:11 AM org.apache.catalina.startup.Catalina start
  INFO: Server startup in 9413 ms
  </code></pre>
  
  <p>I get the error:java.lang.IllegalArgumentException: error Type referred to is not an annotation type: loggable</p>
  
  <p>Why is Loggable no Annotation? It is marked with @interface</p>