Ad Widget

Collapse

Re-compile Zapcat

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • unizabbix
    Junior Member
    • Jul 2008
    • 28

    #1

    Re-compile Zapcat

    Hi all,
    i've installed zapcat under my web app but doesn't start.
    In catalina.out i've found there lines :

    INFO: Installing web application at context path /zapcat-1.2 from URL file:/home/xxxxxxxx/xxxxxxx/jakarta-tomcat-5.0.28/webapps/zapcat-1.2
    GRAVE: Error deploying web application directory zapcat-1.2
    java.lang.UnsupportedClassVersionError: org/kjkoster/zapcat/servlet/ZapcatServlet (Unsupported major.minor version 49.0)

    Is this caused because zapcat is compiled with a java 1.5 and my web application use java 1.4?

    So i've tried to re-compile zapcat with 1.4 but i have some errors.
    This is the result of ant build :

    [mkdir] Created dir: C:\dev2\rel\zapcat-1.2\build\jar
    [javac] Compiling 21 source files to C:\dev2\rel\zapcat-1.2\build\jar
    [javac] C:\dev2\rel\zapcat-1.2\src\org\jivesoftware\util\PropertyEventListene r.java:29: <identifier> expected
    [javac] void propertySet(String property, Map<String, Object> params);
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\jivesoftware\util\PropertyEventListene r.java:29: ')' expected
    [javac] void propertySet(String property, Map<String, Object> params);
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\jivesoftware\util\PropertyEventListene r.java:31: <identifier> expected
    [javac] void propertyDeleted(String property, Map<String, Object> params);
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\jivesoftware\util\PropertyEventListene r.java:31: ')' expected
    [javac] void propertyDeleted(String property, Map<String, Object> params);
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\jivesoftware\util\PropertyEventListene r.java:33: <identifier> expected
    [javac] void xmlPropertySet(String property, Map<String, Object> params);
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\jivesoftware\util\PropertyEventListene r.java:33: ')' expected
    [javac] void xmlPropertySet(String property, Map<String, Object> params);
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\jivesoftware\util\PropertyEventListene r.java:35: <identifier> expected
    [javac] void xmlPropertyDeleted(String property, Map<String, Object> params);
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\jivesoftware\util\PropertyEventListene r.java:35: ')' expected
    [javac] void xmlPropertyDeleted(String property, Map<String, Object> params);
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\openfire\OpenfireLog4j Appender.java:35: illegal character: \64
    [javac] @SuppressWarnings("deprecation")
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\openfire\OpenfireLog4j Appender.java:36: illegal character: \64
    [javac] @Override
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\openfire\OpenfireLog4j Appender.java:84: <identifier> expected
    [javac] }
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\openfire\ZapcatPlugin. java:138: <identifier> expected
    [javac] final Map<String, Object> params) {
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\openfire\ZapcatPlugin. java:189: ')' expected
    [javac] }
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\servlet\ZabbixTemplate Servlet.java:49: ';' expected
    [javac] private enum Type {
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\servlet\ZabbixTemplate Servlet.java:115: illegal character: \64
    [javac] @SuppressWarnings("unchecked")
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\servlet\ZabbixTemplate Servlet.java:116: illegal character: \64
    [javac] @Override
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\servlet\ZapcatServlet. java:36: illegal character: \64
    [javac] @Override
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\servlet\ZapcatServlet. java:44: illegal character: \64
    [javac] @Override
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\servlet\ZapcatServlet. java:48: <identifier> expected
    [javac] }
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\test\ZabbixAgentConfig urationTest.java:56: illegal character: \64
    [javac] @Override
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\test\ZabbixAgentConfig urationTest.java:71: illegal character: \64
    [javac] @Override
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\test\ZabbixAgentConfig urationTest.java:162: <identifier> expected
    [javac] }
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\test\ZabbixAgentProtoc olTest.java:38: illegal character: \64
    [javac] @Override
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\test\ZabbixAgentProtoc olTest.java:45: <identifier> expected
    [javac] private final Properties originalProperties;
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\test\ZabbixAgentProtoc olTest.java:59: illegal character: \64
    [javac] @Override
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\test\ZabbixAgentProtoc olTest.java:300: <identifier> expected
    [javac] }
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\test\ZabbixTrapperConf igurationTest.java:52: illegal character: \64
    [javac] @Override
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\test\ZabbixTrapperConf igurationTest.java:141: <identifier> expected
    [javac] }
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\zabbix\Sender.java:38: <identifier> expected
    [javac] private final BlockingQueue<Item> queue;
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\zabbix\Sender.java:68: <identifier> expected
    [javac] public Sender(final BlockingQueue<Item> queue,
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\zabbix\Sender.java:93: illegal character: \64
    [javac] @Override
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\zabbix\Sender.java:167 : ')' expected
    [javac] }
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\zabbix\ZabbixAgent.jav a:162: '(' or '[' expected
    [javac] TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\zabbix\ZabbixAgent.jav a:162: ')' expected
    [javac] TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>());
    [javac] ^
    [javac] C:\dev2\rel\zapcat-1.2\src\org\kjkoster\zapcat\zabbix\ZabbixTrapper.j ava:56: <identifier> expected
    [javac] private final BlockingQueue<Item> queue = new LinkedBlockingQueue<Item>();
    [javac] ^
    [javac] 35 errors


    At moment I can't change java version in my application.
    How can i recompile it?
    Thanks to all
  • unizabbix
    Junior Member
    • Jul 2008
    • 28

    #2
    I've found Retroweaver that permits to use Java sources edited with 1.5 to be used in a vm 1.4 environment, but I don't understand how it works.
    I use eclipse, someone can halp me?

    Comment

    • Kees Jan Koster
      Member
      • Oct 2007
      • 83

      #3
      Dear unizabbix,

      Zapcat does not support Java 1.4 or older and it never will. All the useful mbeans simply do not exist in Java 1.4 or older, as I discuss in this discussion of Java versions and sysadmin features. Even if you managed to get the code to compile under 1.4, you would not be able to see anything useful.

      Move up to Java 1.6. It's not hard and your application servers will run almost certainly faster to boot.

      If your vendor locks you onto 1.4, they are doing a terrible job. You can tell them I said so. :-)

      Kees Jan

      Comment

      • unizabbix
        Junior Member
        • Jul 2008
        • 28

        #4
        Thanks a lot...
        I've just managed Zapcat works under 1.4, but, as you said, there aren't useful mbeans.

        Ok, we have to upgrade Java asap if they want to have applications monitored.

        Thanks again.

        Comment

        • mlange
          Member
          • Sep 2008
          • 78

          #5
          We are also monitoring JDK1.4 VMs running on Bea 8.1...since JDK4 does not have any useful mbeans you have to rely on the MBeans the JMX implementation provides.

          Comment

          • Kees Jan Koster
            Member
            • Oct 2007
            • 83

            #6
            Dear mlange,

            I am interested in what JMX beans you use. Would you mind sharing your list of mbeans with us?

            Kees Jan

            Comment

            • mlange
              Member
              • Sep 2008
              • 78

              #7
              I am currently collecting the mbeans which are useful in Bea 8.1. When the list if finished I will create a template for it and can of course share it with you.

              Marek

              Comment

              • mlange
                Member
                • Sep 2008
                • 78

                #8
                We have finally setup our monitoring infrastructure using JMX (also with Weblogic monitoring included). I always had the challenge that the JMX names are highly dynamic (esp. in Weblogic) so I decided to write a template generator which creates templates based on configuration properties. It is more flexible than the TermplateServlet in Zapcat. It is pretty simple and has to be refactored but it was quite useful for our project. Jan, do you think it makes sense to share it?

                Comment

                • Kees Jan Koster
                  Member
                  • Oct 2007
                  • 83

                  #9
                  Dear mlange,

                  Of course it is useful to share. I'd love to see how you did it and what's inside weblogic. :-)

                  I'm redoing some of the things I did in zapcat in Java-monitor. Java-monitor can deal well with dynamic items, because it understands JMX queries like: "*:type=statistics,*" for object names. Zabbix cannot do that because of the way its templates work.

                  Of course, if you are already using Zabbix, switching to Java-monitor is not a good idea. That is a product for unmonitored servers and for test servers.

                  Kees Jan

                  Comment

                  • mlange
                    Member
                    • Sep 2008
                    • 78

                    #10
                    I had a short glance - interesting project. But you are right - we put a lot of effort into the zabbix setup and I really like some of the features provided by Zabbix out-of-the-box. I can send you the template but I do not know if it is covering all needed values. Btw. it was quite easy to port the agent to 1.4 (what is necessary to deploy it on Bea 8.1).

                    Comment

                    • Kees Jan Koster
                      Member
                      • Oct 2007
                      • 83

                      #11
                      Dear mlange,

                      Thanks for the compliment.

                      java-monitor is aimed at the JVM alone, so the network and os monitoring that Zabbix does is not supported.

                      I found backporting to 1.4 never interesting because of the lack of a well-featured platform mbean server.

                      I will be working on a 1.4 probe for Java-monitor, because I want to support embedded JVM's too.

                      Kees Jan

                      Comment

                      Working...