Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
Source Code for Apache Log4j 1.2.17
Apache Log4j
provides the interface that applications should code to and provides the adapter
components required for implementers to create a logging implementation.
Bytecode (Java 1.4) for Apache Log4j is provided in a JAR file like log4j-1.2.17.jar.
Source Code files for Apache Log4j are provided in both binary packge like log4j-1.2.17.zip and source package like log4j-1.2.17-sources.zip. You can download them at Apache Log4j Website.
You can also browse Source Code files for Apache Log4j 1.2.17 below.
✍: FYIcenter.com
⏎ org/apache/log4j/net/ZeroConfSupport.java
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.log4j.net; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Hashtable; import java.util.Map; import org.apache.log4j.helpers.LogLog; public class ZeroConfSupport { private static Object jmDNS = initializeJMDNS(); Object serviceInfo; private static Class jmDNSClass; private static Class serviceInfoClass; public ZeroConfSupport(String zone, int port, String name, Map properties) { //if version 3 is available, use it to constuct a serviceInfo instance, otherwise support the version1 API boolean isVersion3 = false; try { //create method is in version 3, not version 1 jmDNSClass.getMethod("create", null); isVersion3 = true; } catch (NoSuchMethodException e) { //no-op } if (isVersion3) { LogLog.debug("using JmDNS version 3 to construct serviceInfo instance"); serviceInfo = buildServiceInfoVersion3(zone, port, name, properties); } else { LogLog.debug("using JmDNS version 1.0 to construct serviceInfo instance"); serviceInfo = buildServiceInfoVersion1(zone, port, name, properties); } } public ZeroConfSupport(String zone, int port, String name) { this(zone, port, name, new HashMap()); } private static Object createJmDNSVersion1() { try { return jmDNSClass.newInstance(); } catch (InstantiationException e) { LogLog.warn("Unable to instantiate JMDNS", e); } catch (IllegalAccessException e) { LogLog.warn("Unable to instantiate JMDNS", e); } return null; } private static Object createJmDNSVersion3() { try { Method jmDNSCreateMethod = jmDNSClass.getMethod("create", null); return jmDNSCreateMethod.invoke(null, null); } catch (IllegalAccessException e) { LogLog.warn("Unable to instantiate jmdns class", e); } catch (NoSuchMethodException e) { LogLog.warn("Unable to access constructor", e); } catch (InvocationTargetException e) { LogLog.warn("Unable to call constructor", e); } return null; } private Object buildServiceInfoVersion1(String zone, int port, String name, Map properties) { //version 1 uses a hashtable Hashtable hashtableProperties = new Hashtable(properties); try { Class[] args = new Class[6]; args[0] = String.class; args[1] = String.class; args[2] = int.class; args[3] = int.class; //weight (0) args[4] = int.class; //priority (0) args[5] = Hashtable.class; Constructor constructor = serviceInfoClass.getConstructor(args); Object[] values = new Object[6]; values[0] = zone; values[1] = name; values[2] = new Integer(port); values[3] = new Integer(0); values[4] = new Integer(0); values[5] = hashtableProperties; Object result = constructor.newInstance(values); LogLog.debug("created serviceinfo: " + result); return result; } catch (IllegalAccessException e) { LogLog.warn("Unable to construct ServiceInfo instance", e); } catch (NoSuchMethodException e) { LogLog.warn("Unable to get ServiceInfo constructor", e); } catch (InstantiationException e) { LogLog.warn("Unable to construct ServiceInfo instance", e); } catch (InvocationTargetException e) { LogLog.warn("Unable to construct ServiceInfo instance", e); } return null; } private Object buildServiceInfoVersion3(String zone, int port, String name, Map properties) { try { Class[] args = new Class[6]; args[0] = String.class; //zone/type args[1] = String.class; //display name args[2] = int.class; //port args[3] = int.class; //weight (0) args[4] = int.class; //priority (0) args[5] = Map.class; Method serviceInfoCreateMethod = serviceInfoClass.getMethod("create", args); Object[] values = new Object[6]; values[0] = zone; values[1] = name; values[2] = new Integer(port); values[3] = new Integer(0); values[4] = new Integer(0); values[5] = properties; Object result = serviceInfoCreateMethod.invoke(null, values); LogLog.debug("created serviceinfo: " + result); return result; } catch (IllegalAccessException e) { LogLog.warn("Unable to invoke create method", e); } catch (NoSuchMethodException e) { LogLog.warn("Unable to find create method", e); } catch (InvocationTargetException e) { LogLog.warn("Unable to invoke create method", e); } return null; } public void advertise() { try { Method method = jmDNSClass.getMethod("registerService", new Class[]{serviceInfoClass}); method.invoke(jmDNS, new Object[]{serviceInfo}); LogLog.debug("registered serviceInfo: " + serviceInfo); } catch(IllegalAccessException e) { LogLog.warn("Unable to invoke registerService method", e); } catch(NoSuchMethodException e) { LogLog.warn("No registerService method", e); } catch(InvocationTargetException e) { LogLog.warn("Unable to invoke registerService method", e); } } public void unadvertise() { try { Method method = jmDNSClass.getMethod("unregisterService", new Class[]{serviceInfoClass}); method.invoke(jmDNS, new Object[]{serviceInfo}); LogLog.debug("unregistered serviceInfo: " + serviceInfo); } catch(IllegalAccessException e) { LogLog.warn("Unable to invoke unregisterService method", e); } catch(NoSuchMethodException e) { LogLog.warn("No unregisterService method", e); } catch(InvocationTargetException e) { LogLog.warn("Unable to invoke unregisterService method", e); } } private static Object initializeJMDNS() { try { jmDNSClass = Class.forName("javax.jmdns.JmDNS"); serviceInfoClass = Class.forName("javax.jmdns.ServiceInfo"); } catch (ClassNotFoundException e) { LogLog.warn("JmDNS or serviceInfo class not found", e); } //if version 3 is available, use it to constuct a serviceInfo instance, otherwise support the version1 API boolean isVersion3 = false; try { //create method is in version 3, not version 1 jmDNSClass.getMethod("create", null); isVersion3 = true; } catch (NoSuchMethodException e) { //no-op } if (isVersion3) { return createJmDNSVersion3(); } else { return createJmDNSVersion1(); } } public static Object getJMDNSInstance() { return jmDNS; } }
⏎ org/apache/log4j/net/ZeroConfSupport.java
Or download all of them as a single archive file:
File name: log4j-1.2.17-sources.jar File size: 481200 bytes Release date: 2012-05-06 Download
⇒ Download and Install apache-log4j-1.2.15.zip
⇐ Download and Install log4j-1.2.17.zip
2015-12-14, 51362👍, 0💬
Popular Posts:
JDOM provides a solution for using XML from Java that is as simple as Java itself. There is no compe...
How to download and install mysql-connector-j-8.0.31 .zip?Connector/J Java library is a JDBC Driver ...
Guava is a suite of core and expanded libraries that include utility classes, google's collections, ...
The Apache FontBox library is an open source Java tool to obtain low level information from font fil...
JRE 8 deploy.jar is the JAR file for JRE 8 Java Control Panel and other deploy tools. JRE (Java Runt...