[teiid-commits] teiid SVN: r1062 - in trunk: build/kit-embedded/deploy and 15 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Wed Jun 17 16:40:10 EDT 2009


Author: rareddy
Date: 2009-06-17 16:40:10 -0400 (Wed, 17 Jun 2009)
New Revision: 1062

Added:
   trunk/build/kit-embedded/deploy/jboss-cache-configuration.xml
   trunk/embedded/src/main/java/org/
   trunk/embedded/src/main/java/org/teiid/
   trunk/embedded/src/main/java/org/teiid/configuration/
   trunk/embedded/src/main/java/org/teiid/configuration/CommonsLogManagerAdapter.java
   trunk/embedded/src/main/resources/commons-logging.properties
Modified:
   trunk/build/assembly/embedded/build-configuration.xml
   trunk/build/kit-embedded/deploy/log4j.properties
   trunk/common-core/src/main/java/com/metamatrix/core/log/JavaLogWriter.java
   trunk/common-core/src/main/java/com/metamatrix/core/log/LogListener.java
   trunk/common-core/src/main/java/com/metamatrix/core/log/LogMessage.java
   trunk/common-internal/src/main/java/com/metamatrix/common/log/LogManager.java
   trunk/common-internal/src/test/java/com/metamatrix/common/log/TestLogManager.java
   trunk/embedded/pom.xml
   trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/DQPLogListener.java
   trunk/embedded/src/main/java/com/metamatrix/jdbc/EmbeddedGuiceModule.java
   trunk/embedded/src/main/java/com/metamatrix/jdbc/LogListernerProvider.java
   trunk/embedded/src/main/resources/deploy.properties
   trunk/server/src/main/java/com/metamatrix/common/log/DbLogListener.java
   trunk/server/src/main/java/com/metamatrix/common/log/DbLogWriter.java
   trunk/soap/src/main/java/com/metamatrix/soap/sqlquerywebservice/log/LogUtil.java
   trunk/txn-jbossts/src/main/java/com/metamatrix/xa/arjuna/ArjunaTransactionProvider.java
   trunk/txn-jbossts/src/main/resources/CommonLogging-properties.xml
   trunk/txn-jbossts/src/main/resources/jbossjts-properties.xml
Log:
TEIID-672, TEIID-681

Modified: trunk/build/assembly/embedded/build-configuration.xml
===================================================================
--- trunk/build/assembly/embedded/build-configuration.xml	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/build/assembly/embedded/build-configuration.xml	2009-06-17 20:40:10 UTC (rev 1062)
@@ -30,6 +30,7 @@
 	  <loadfile property="connector-types-fragment"  srcFile="${extensions.dir}/unzipped/all-cdks.xml"/>
 	  <replace file="${kit.dir}/deploy/configuration.xml" token="${connector-types-fragment-fill-in}" value="${connector-types-fragment}"/>
 
+	  <mkdir dir="${kit.dir}/log"/>
 	</target>	
 	
 </project>
\ No newline at end of file

Added: trunk/build/kit-embedded/deploy/jboss-cache-configuration.xml
===================================================================
--- trunk/build/kit-embedded/deploy/jboss-cache-configuration.xml	                        (rev 0)
+++ trunk/build/kit-embedded/deploy/jboss-cache-configuration.xml	2009-06-17 20:40:10 UTC (rev 1062)
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server>
+	<mbean code="org.jboss.cache.pojo.jmx.CacheJmxWrapper" name="jboss.cache:service=TeiidCache">
+      <attribute name="TransactionManagerLookupClass">org.jboss.cache.transaction.GenericTransactionManagerLookup</attribute>
+      <attribute name="IsolationLevel">READ_COMMITTED</attribute>
+	    <attribute name="LockParentForChildInsertRemove">true</attribute>
+	  
+      <attribute name="CacheMode">LOCAL</attribute>
+	  <!-- <attribute name="UseLazyDeserialization">true</attribute> -->
+
+     <!--
+     	The max amount of time (in milliseconds) we wait until the
+     	initial state (ie. the contents of the cache) are retrieved from
+     	existing members in a clustered environment
+     -->
+     <attribute name="StateRetrievalTimeout">20000</attribute>
+  	 
+  	 <!--
+     	Number of milliseconds to wait until all responses for a
+     	synchronous call have been received.
+     -->
+     <attribute name="SyncReplTimeout">20000</attribute>
+  	
+  	 <!-- Max number of milliseconds to wait for a lock acquisition -->
+     <attribute name="LockAcquisitionTimeout">15000</attribute>
+     
+     <!-- Shutdown hook behavior. Valid choices are: DEFAULT, REGISTER and DONT_REGISTER.  this element is omitted, DEFAULT is used. -->
+     <attribute name="ShutdownHookBehavior">DEFAULT</attribute>
+
+     <attribute name="FetchInMemoryState">true</attribute>
+
+      <attribute name="CacheLoaderConfig" replace="false">
+         <config>
+
+          <!-- are the cache loaders shared in a cluster? -->
+          <shared>false</shared>
+          <!-- if passivation is true, only the first cache loader is used; the rest are ignored -->
+          <passivation>true</passivation>
+
+            <cacheloader>
+            	<class>org.jboss.cache.loader.FileCacheLoader</class>
+               <properties>location=./teiid/cache</properties>               
+
+                <!--fetch the persistent state of a cache when joining a cluster-->
+               <fetchPersistentState>true</fetchPersistentState>
+                
+               <!-- empties the specified cache loader when cache loader starts up -->
+               <purgeOnStartup>true</purgeOnStartup>
+
+               <!-- cache loader is shared among different cache instances -->
+               <shared>false</shared>
+            </cacheloader>
+         </config>
+      </attribute>
+
+      <attribute name="EvictionPolicyConfig">
+        <config>
+          <attribute name="wakeUpIntervalSeconds">3</attribute>
+          <!-- This defaults to 200000 if not specified -->
+          <attribute name="eventQueueSize">100000</attribute>
+          <!-- Name of the DEFAULT eviction policy class. -->
+          <attribute name="policyClass">org.jboss.cache.eviction.LRUPolicy</attribute>
+          <!-- Cache wide default -->
+          <region name="/_default_">
+            <attribute name="maxNodes">10000</attribute>
+            <attribute name="timeToLiveSeconds">0</attribute>
+          </region>
+        </config>
+      </attribute>
+      
+   </mbean>
+</server>   
\ No newline at end of file


Property changes on: trunk/build/kit-embedded/deploy/jboss-cache-configuration.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/build/kit-embedded/deploy/log4j.properties
===================================================================
--- trunk/build/kit-embedded/deploy/log4j.properties	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/build/kit-embedded/deploy/log4j.properties	2009-06-17 20:40:10 UTC (rev 1062)
@@ -5,13 +5,21 @@
 # This is for JGroups
 log4j.category.org.jgroups=WARN
 
-#This one controls for JBoss Cache
+# JBoss transactions
+log4j.category.com.arjuna=WARN
+
+# This one controls for JBoss Cache
 log4j.category.org.jboss=WARN
 
 # This one controls Teiid 
 log4j.category.org.teiid=WARN
 
+# un-comment for command logging (user, source commands submitted)
+#log4j.category.org.teiid.COMMAND_LOG=INFO
 
+# un-comment for audit logging
+#log4j.category.org.teiid.AUDIT_LOG=INFO
+
 # Appender writes to a file
 # Control the maximum log file size, number of backup files
 log4j.appender.TEIID=org.apache.log4j.RollingFileAppender
@@ -19,6 +27,6 @@
 log4j.appender.TEIID.MaxFileSize=1000KB
 log4j.appender.TEIID.MaxBackupIndex=25
 
-# layout {priority, thread, category, message, newline}
+# layout {date, priority, thread, category, message, newline}
 log4j.appender.TEIID.layout=org.apache.log4j.PatternLayout
-log4j.appender.TEIID.layout.ConversionPattern=%p %t %c - %m%n
\ No newline at end of file
+log4j.appender.TEIID.layout.ConversionPattern=%d %p [%t] %c - %m%n
\ No newline at end of file

Modified: trunk/common-core/src/main/java/com/metamatrix/core/log/JavaLogWriter.java
===================================================================
--- trunk/common-core/src/main/java/com/metamatrix/core/log/JavaLogWriter.java	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/common-core/src/main/java/com/metamatrix/core/log/JavaLogWriter.java	2009-06-17 20:40:10 UTC (rev 1062)
@@ -30,20 +30,24 @@
  */
 public class JavaLogWriter implements LogListener {
 
-    public void logMessage(int level, String context, Object msg) {
+    public void log(int level, String context, Object msg) {
     	Logger logger = Logger.getLogger("org.teiid." + context); //$NON-NLS-1$
     	
     	Level javaLevel = convertLevel(level);
     	if (logger.isLoggable(javaLevel)) {
-    		if (msg instanceof LogMessage) {
-    			logger.log(javaLevel, ((LogMessage)msg).getText(), ((LogMessage)msg).getException());
-    		}
-    		else {
-    			logger.log(javaLevel, msg.toString());
-    		}
+    		logger.log(javaLevel, msg.toString());
     	}
     }
     
+    public void log(int level, String context, Throwable t, Object msg) {
+    	Logger logger = Logger.getLogger("org.teiid." + context); //$NON-NLS-1$
+    	
+    	Level javaLevel = convertLevel(level);
+    	if (logger.isLoggable(javaLevel)) {
+    		logger.log(javaLevel, msg.toString(), t);
+    	}
+    }
+    
     public Level convertLevel(int level) {
     	switch (level) {
     	case MessageLevel.CRITICAL:

Modified: trunk/common-core/src/main/java/com/metamatrix/core/log/LogListener.java
===================================================================
--- trunk/common-core/src/main/java/com/metamatrix/core/log/LogListener.java	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/common-core/src/main/java/com/metamatrix/core/log/LogListener.java	2009-06-17 20:40:10 UTC (rev 1062)
@@ -27,16 +27,10 @@
  * LogListener
  */
 public interface LogListener {
+
+    void log(int level, String context, Object msg);
     
-    /**
-     * Notifies this listener that given status has been logged.  
-     * The listener is free to retain or ignore this status.
-     * @param status the status being logged
-     * @param timestamp the time that the message was logged
-     * @param pluginID the identifier of the plugin that submitted the log message
-     * @param threadName the name of the thread upon which the message was created
-     */
-    void logMessage(int level, String context, Object msg);
+    void log(int level, String context, Throwable t, Object msg);
 
     /**
      * Shut down this listener, requesting it clean up and release any resources it

Modified: trunk/common-core/src/main/java/com/metamatrix/core/log/LogMessage.java
===================================================================
--- trunk/common-core/src/main/java/com/metamatrix/core/log/LogMessage.java	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/common-core/src/main/java/com/metamatrix/core/log/LogMessage.java	2009-06-17 20:40:10 UTC (rev 1062)
@@ -28,18 +28,11 @@
 public class LogMessage implements Serializable{
 
 	private Object[] msgParts;
-	private Throwable exception;
-    
 
-	public LogMessage(Throwable e, Object[] msgParts) {
+	public LogMessage(Object[] msgParts) {
         this.msgParts = msgParts;
-	    this.exception = e;
 	}
 
-	public Throwable getException() {
-		return this.exception;
-	}
-
 	public Object[] getMessageParts() {
 		return this.msgParts;
 	}

Modified: trunk/common-internal/src/main/java/com/metamatrix/common/log/LogManager.java
===================================================================
--- trunk/common-internal/src/main/java/com/metamatrix/common/log/LogManager.java	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/common-internal/src/main/java/com/metamatrix/common/log/LogManager.java	2009-06-17 20:40:10 UTC (rev 1062)
@@ -111,7 +111,7 @@
      * not logged if this parameter is null
      */
     public static void logCritical(String context, String message) {
-    	logMessage(MessageLevel.CRITICAL, context, message);
+    	logListener.log(MessageLevel.CRITICAL, context, message);
     }
 
     /**
@@ -130,7 +130,7 @@
      * @param message the log message (may be null)
      */
     public static void logCritical(String context, Throwable e, String message) {
-        logMessage(MessageLevel.CRITICAL,context,e,message);
+    	logListener.log(MessageLevel.CRITICAL,context,e,message);
     }
 
     /**
@@ -146,7 +146,7 @@
      * not logged if this parameter is null
      */
     public static void logError(String context, String message) {
-        logMessage(MessageLevel.ERROR, context,message);
+    	logListener.log(MessageLevel.ERROR, context,message);
     }
 
     /**
@@ -163,7 +163,7 @@
      * @param message the log message (may be null)
      */
     public static void logError(String context, Throwable e, String message) {
-        logMessage(MessageLevel.ERROR,context,e,message);
+    	logListener.log(MessageLevel.ERROR,context,e,message);
     }
     
     /**
@@ -179,7 +179,7 @@
      * not logged if this parameter is null
      */
     public static void logWarning(String context, String message) {
-        logMessage(MessageLevel.WARNING, context,message);
+    	logListener.log(MessageLevel.WARNING, context,message);
     }
 
     /**
@@ -196,7 +196,7 @@
      * @param message the log message (may be null)
      */
     public static void logWarning(String context, Throwable e, String message) {
-        logMessage(MessageLevel.WARNING,context,e,message);
+    	logListener.log(MessageLevel.WARNING,context,e,message);
     }
     
     /**
@@ -213,7 +213,7 @@
      * not logged if this parameter is null
      */
     public static void logInfo(String context, String message) {
-        logMessage(MessageLevel.INFO, context,message);
+    	logListener.log(MessageLevel.INFO, context,message);
     }
     
     /**
@@ -246,7 +246,7 @@
      * @param message the log message (may be null)
      */
     public static void logDetail(String context, Throwable e, String message) {
-        logMessage(MessageLevel.DETAIL,context,e,message);
+    	logListener.log(MessageLevel.DETAIL,context,e,message);
     }
 
     /**
@@ -296,7 +296,7 @@
      * not logged if this parameter is null
      */
     public static void log(int msgLevel, String context, Object message) {
-        logListener.logMessage(msgLevel, context, message);
+        logListener.log(msgLevel, context, message);
     }
 
     /**
@@ -311,8 +311,8 @@
      * @param message the individual parts of the log message; the message is
      * not logged if this parameter is null
      */
-    public static void log(int msgLevel, String context, Throwable e, String message) {
-        logMessage(msgLevel, context, e, message);
+    public static void log(int msgLevel, String context, Throwable e, Object message) {
+    	logListener.log(msgLevel, context, e, message);
     }
 
     /**
@@ -358,19 +358,16 @@
     }
 
     private static void logMessage(int level, String context, Object ... msgParts) {
-    	logMessage(level, context, null, msgParts);
-    }
-
-    private static void logMessage(int level, String context, Throwable e, Object ... msgParts) {
 		if (msgParts == null || msgParts.length == 0 || !isMessageToBeRecorded(context, level)) {
 			return;
 		} 
-		
-		LogMessage msg = new LogMessage(e, msgParts);
-		logListener.logMessage(level, context, msg);
+		logListener.log(level, context, new LogMessage(msgParts));
     }
 
-
+    
+    /**
+     * Create a logging proxy, that logs at entry and exit points of the method calls on the provided interfaces.  
+     */
     public static Object createLoggingProxy(final String loggingContext,
                                              final Object instance,
                                              final Class[] interfaces,

Modified: trunk/common-internal/src/test/java/com/metamatrix/common/log/TestLogManager.java
===================================================================
--- trunk/common-internal/src/test/java/com/metamatrix/common/log/TestLogManager.java	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/common-internal/src/test/java/com/metamatrix/common/log/TestLogManager.java	2009-06-17 20:40:10 UTC (rev 1062)
@@ -114,12 +114,19 @@
         /* (non-Javadoc)
          * @see com.metamatrix.core.log.LogListener#logMessage(org.eclipse.core.runtime.IStatus, long, java.lang.String, java.lang.String)
          */
-        public synchronized void logMessage(int level, String context, Object msg){
-            this.messages.add(((LogMessage)msg).getText());
+        public synchronized void log(int level, String context, Object msg){
+            this.messages.add(msg);
             if (this.messages.size() == expectedMessages) {
             	this.notifyAll();
             }
         }
+        
+		public void log(int level, String context, Throwable t, Object msg) {
+            this.messages.add(msg);
+            if (this.messages.size() == expectedMessages) {
+            	this.notifyAll();
+            }			
+		}        
 
         /* (non-Javadoc)
          * @see com.metamatrix.core.log.LogListener#shutdown()

Modified: trunk/embedded/pom.xml
===================================================================
--- trunk/embedded/pom.xml	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/embedded/pom.xml	2009-06-17 20:40:10 UTC (rev 1062)
@@ -65,5 +65,9 @@
       <groupId>log4j</groupId>
       <artifactId>log4j</artifactId>
     </dependency>    
+    <dependency>
+        <groupId>commons-logging</groupId>
+        <artifactId>commons-logging</artifactId>
+    </dependency>    
   </dependencies>
 </project>
\ No newline at end of file

Modified: trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/DQPLogListener.java
===================================================================
--- trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/DQPLogListener.java	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/embedded/src/main/java/com/metamatrix/dqp/embedded/admin/DQPLogListener.java	2009-06-17 20:40:10 UTC (rev 1062)
@@ -36,10 +36,17 @@
         this.logger = logger;
     }
 
-    public void logMessage(int level, String context, Object msg) {
+    public void log(int level, String context, Object msg) {
+        logger.log(convertLevel(level), System.currentTimeMillis(), context, Thread.currentThread().getName(), msg.toString(), null);        
+    }
+
+    public void log(int level, String context, Throwable t, Object msg) {
+    	logger.log(convertLevel(level), System.currentTimeMillis(), context, Thread.currentThread().getName(), msg.toString(), t);
+    }    
+    
+	private int convertLevel(int level) {
+		int logLevel = EmbeddedLogger.INFO;
         
-        int logLevel = EmbeddedLogger.INFO;
-        
         switch(level) {
             case MessageLevel.WARNING:
                 logLevel = EmbeddedLogger.WARNING;
@@ -60,16 +67,9 @@
             default:
                 logLevel = EmbeddedLogger.INFO;
         }
-        
-        if (msg instanceof LogMessage) {
-        	LogMessage lm = (LogMessage)msg;
-        	logger.log(logLevel, System.currentTimeMillis(), context, Thread.currentThread().getName(), lm.getText(), lm.getException());
-        }
-        else {
-        	logger.log(logLevel, System.currentTimeMillis(), context, Thread.currentThread().getName(), msg.toString(), null);
-        }
-    }
-
+		return logLevel;
+	}
+    
     public void shutdown() {
     }
 }

Modified: trunk/embedded/src/main/java/com/metamatrix/jdbc/EmbeddedGuiceModule.java
===================================================================
--- trunk/embedded/src/main/java/com/metamatrix/jdbc/EmbeddedGuiceModule.java	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/embedded/src/main/java/com/metamatrix/jdbc/EmbeddedGuiceModule.java	2009-06-17 20:40:10 UTC (rev 1062)
@@ -52,19 +52,21 @@
 	
 	@Override
 	protected void configure() {
-		bind(Cache.class).toProvider(CacheProvider.class).in(Scopes.SINGLETON);
-		bind(CacheFactory.class).to(JBossCacheFactory.class).in(Scopes.SINGLETON);
+		bind(LogConfiguration.class).toProvider(LogConfigurationProvider.class).in(Scopes.SINGLETON);		
+		bind(LogListener.class).toProvider(LogListernerProvider.class).in(Scopes.SINGLETON);  
+		
+		bind(URL.class).annotatedWith(Names.named("BootstrapURL")).toInstance(bootstrapURL); //$NON-NLS-1$
 		bindConstant().annotatedWith(Names.named("HostName")).to("embedded"); //$NON-NLS-1$ //$NON-NLS-2$
 		bindConstant().annotatedWith(Names.named("ProcessName")).to(props.getProperty(DQPEmbeddedProperties.DQP_IDENTITY)); //$NON-NLS-1$
 		String workspaceDir = props.getProperty(DQPEmbeddedProperties.DQP_WORKSPACE);
 		bindConstant().annotatedWith(Names.named("WorkspaceDir")).to(workspaceDir); //$NON-NLS-1$
 		bind(Properties.class).annotatedWith(Names.named("DQPProperties")).toInstance(this.props); //$NON-NLS-1$
+
+		bind(Cache.class).toProvider(CacheProvider.class).in(Scopes.SINGLETON);
+		bind(CacheFactory.class).to(JBossCacheFactory.class).in(Scopes.SINGLETON);
+		
 		bind(DQPContextCache.class).in(Scopes.SINGLETON);
-		
 		bind(DQPConfigSource.class).to(EmbeddedConfigSource.class);
-		bind(URL.class).annotatedWith(Names.named("BootstrapURL")).toInstance(bootstrapURL); //$NON-NLS-1$
-		bind(LogConfiguration.class).toProvider(LogConfigurationProvider.class).in(Scopes.SINGLETON);		
-		bind(LogListener.class).toProvider(LogListernerProvider.class).in(Scopes.SINGLETON);  
 		
 		// this needs to be removed.
 		binder().requestStaticInjection(LogManager.class);

Modified: trunk/embedded/src/main/java/com/metamatrix/jdbc/LogListernerProvider.java
===================================================================
--- trunk/embedded/src/main/java/com/metamatrix/jdbc/LogListernerProvider.java	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/embedded/src/main/java/com/metamatrix/jdbc/LogListernerProvider.java	2009-06-17 20:40:10 UTC (rev 1062)
@@ -86,11 +86,27 @@
 	static class Log4jListener implements LogListener{
 
 		@Override
-		public void logMessage(int level, String context, Object msg) {
-			Logger log4j = Logger.getLogger("org.teiid."+context); //$NON-NLS-1$
+		public void log(int level, String context, Object msg) {
+			Logger log4j = getLogger(context);
 			log4j.log(convertLevel(level), msg);
 		}
 
+		public void log(int level, String context, Throwable t, Object msg) {
+			Logger log4j = getLogger(context);
+			log4j.log(convertLevel(level), msg, t);
+		}
+		
+		private Logger getLogger(String context) {
+			Logger log4j = null;
+			if (context.indexOf('.') == -1) {
+				log4j = Logger.getLogger("org.teiid."+context); //$NON-NLS-1$
+			}
+			else {
+				log4j = Logger.getLogger(context);
+			}
+			return log4j;
+		}
+				
 		@Override
 		public void shutdown() {
 		}

Added: trunk/embedded/src/main/java/org/teiid/configuration/CommonsLogManagerAdapter.java
===================================================================
--- trunk/embedded/src/main/java/org/teiid/configuration/CommonsLogManagerAdapter.java	                        (rev 0)
+++ trunk/embedded/src/main/java/org/teiid/configuration/CommonsLogManagerAdapter.java	2009-06-17 20:40:10 UTC (rev 1062)
@@ -0,0 +1,130 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.configuration;
+
+import org.apache.commons.logging.Log;
+
+import com.metamatrix.common.log.LogManager;
+import com.metamatrix.core.log.MessageLevel;
+
+/**
+ * This class is bridge for hooking LogManager into systems that use apache commons logging. In the Teiid
+ * JBoss cache/Jboss Transactions use commons logging. This class used in "commons-logging.properties" file.
+ */
+public class CommonsLogManagerAdapter implements Log {
+	String context;
+	
+    public CommonsLogManagerAdapter(String context) {
+        this.context = context;
+    }
+	
+	@Override
+	public void debug(Object arg0) {
+		LogManager.log(MessageLevel.DETAIL, this.context, arg0);
+	}
+
+	@Override
+	public void debug(Object arg0, Throwable arg1) {
+		LogManager.log(MessageLevel.DETAIL, this.context, arg1, arg0);
+	}
+
+	@Override
+	public void error(Object arg0) {
+		LogManager.log(MessageLevel.ERROR, this.context, arg0);
+	}
+
+	@Override
+	public void error(Object arg0, Throwable arg1) {
+		LogManager.log(MessageLevel.ERROR, this.context, arg1, arg0);
+	}
+
+	@Override
+	public void fatal(Object arg0) {
+		LogManager.log(MessageLevel.CRITICAL, this.context, arg0);
+	}
+
+	@Override
+	public void fatal(Object arg0, Throwable arg1) {
+		LogManager.log(MessageLevel.CRITICAL, this.context, arg1, arg0);
+	}
+
+	@Override
+	public void info(Object arg0) {
+		LogManager.log(MessageLevel.INFO, this.context, arg0);
+	}
+
+	@Override
+	public void info(Object arg0, Throwable arg1) {
+		LogManager.log(MessageLevel.INFO, this.context, arg1, arg0);
+	}
+
+	@Override
+	public void trace(Object arg0) {
+		LogManager.log(MessageLevel.TRACE, this.context, arg0);
+	}
+
+	@Override
+	public void trace(Object arg0, Throwable arg1) {
+		LogManager.log(MessageLevel.TRACE, this.context, arg1, arg0);
+	}
+
+	@Override
+	public void warn(Object arg0) {
+		LogManager.log(MessageLevel.WARNING, this.context, arg0);
+	}
+
+	@Override
+	public void warn(Object arg0, Throwable arg1) {
+		LogManager.log(MessageLevel.WARNING, this.context, arg1, arg0);
+	}
+	
+	@Override
+	public boolean isDebugEnabled() {
+		return LogManager.isMessageToBeRecorded(this.context, MessageLevel.DETAIL);
+	}
+
+	@Override
+	public boolean isErrorEnabled() {
+		return LogManager.isMessageToBeRecorded(this.context, MessageLevel.ERROR);
+	}
+
+	@Override
+	public boolean isFatalEnabled() {
+		return LogManager.isMessageToBeRecorded(this.context, MessageLevel.CRITICAL);
+	}
+
+	@Override
+	public boolean isInfoEnabled() {
+		return LogManager.isMessageToBeRecorded(this.context, MessageLevel.INFO);
+	}
+
+	@Override
+	public boolean isTraceEnabled() {
+		return LogManager.isMessageToBeRecorded(this.context, MessageLevel.TRACE);
+	}
+
+	@Override
+	public boolean isWarnEnabled() {
+		return LogManager.isMessageToBeRecorded(this.context, MessageLevel.WARNING);
+	}
+}


Property changes on: trunk/embedded/src/main/java/org/teiid/configuration/CommonsLogManagerAdapter.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/embedded/src/main/resources/commons-logging.properties
===================================================================
--- trunk/embedded/src/main/resources/commons-logging.properties	                        (rev 0)
+++ trunk/embedded/src/main/resources/commons-logging.properties	2009-06-17 20:40:10 UTC (rev 1062)
@@ -0,0 +1,2 @@
+# overrides the logging in jboss cache and jboss transactions integration code
+org.apache.commons.logging.Log=org.teiid.configuration.CommonsLogManagerAdapter
\ No newline at end of file


Property changes on: trunk/embedded/src/main/resources/commons-logging.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/embedded/src/main/resources/deploy.properties
===================================================================
--- trunk/embedded/src/main/resources/deploy.properties	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/embedded/src/main/resources/deploy.properties	2009-06-17 20:40:10 UTC (rev 1062)
@@ -1 +1,2 @@
-dqp.workdir=${user.dir}/teiid-work
\ No newline at end of file
+dqp.workdir=${user.dir}/teiid-work
+dqp.logFile=${user.dir}/teiid.log
\ No newline at end of file

Modified: trunk/server/src/main/java/com/metamatrix/common/log/DbLogListener.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/common/log/DbLogListener.java	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/server/src/main/java/com/metamatrix/common/log/DbLogListener.java	2009-06-17 20:40:10 UTC (rev 1062)
@@ -49,11 +49,17 @@
         this.enabled = enable;
 	}
 
-    public void logMessage(int level, String context, Object msg) {
+    public void log(int level, String context, Object msg) {
         if (enabled) {
-            writer.logMessage(level, context, (LogMessage)msg);
+            writer.logMessage(level, context, msg, null);
         }
 	}
+    
+    public void log(int level, String context, Throwable t, Object msg) {
+        if (enabled) {
+            writer.logMessage(level, context, msg, t);
+        }    	
+    }
 
 	public void shutdown() {
 		writer.shutdown();

Modified: trunk/server/src/main/java/com/metamatrix/common/log/DbLogWriter.java
===================================================================
--- trunk/server/src/main/java/com/metamatrix/common/log/DbLogWriter.java	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/server/src/main/java/com/metamatrix/common/log/DbLogWriter.java	2009-06-17 20:40:10 UTC (rev 1062)
@@ -245,11 +245,11 @@
 
 	}
 
-	public synchronized void logMessage(int level, String context,LogMessage msg) {
-		write(level, context, msg);	
+	public synchronized void logMessage(int level, String context,Object msg, Throwable t) {
+		write(level, context, msg, t);	
 	}
 			
-	private void write(int level, String context, LogMessage message) {
+	private void write(int level, String context, Object message, Throwable t) {
 		// put this in a while to so that as long a 
         int retrycnt = 0;
         if (isLogSuspended && System.currentTimeMillis() > resumeTime) {             
@@ -257,7 +257,7 @@
         }
 		while (!isLogSuspended && !shutdown) {
 			try {
-				printMsg(level, context, message);
+				printMsg(level, context, message, t);
 				return;
 
 			} catch (Exception ex) {
@@ -301,7 +301,7 @@
 		return this.insert;
 	}
 	
-	private void printMsg(int level, String context, LogMessage message) throws SQLException {
+	private void printMsg(int level, String context, Object message, Throwable t) throws SQLException {
         if (this.shutdown) {
             return;
         }
@@ -332,7 +332,7 @@
 			stmt.setInt(4, level);
 
 			// Message text column
-			stmt.setString(5, StringUtil.truncString(message.getText(), maxMsgLength));
+			stmt.setString(5, StringUtil.truncString(message.toString(), maxMsgLength));
 
 			// Message hostname column
 			stmt.setString(6, StringUtil.truncString(CurrentConfiguration.getInstance().getConfigurationName(), maxGeneralLength)); 
@@ -344,8 +344,8 @@
 			stmt.setString(8, StringUtil.truncString(Thread.currentThread().getName(), maxGeneralLength));
 
 			// Exception column
-			if(message.getException() != null) {
-				String eMsg = message.getException().getMessage();
+			if(t != null) {
+				String eMsg = t.getMessage();
 				if ( eMsg == null ) {
 					eMsg = NULL;
 				} else {

Modified: trunk/soap/src/main/java/com/metamatrix/soap/sqlquerywebservice/log/LogUtil.java
===================================================================
--- trunk/soap/src/main/java/com/metamatrix/soap/sqlquerywebservice/log/LogUtil.java	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/soap/src/main/java/com/metamatrix/soap/sqlquerywebservice/log/LogUtil.java	2009-06-17 20:40:10 UTC (rev 1062)
@@ -32,17 +32,13 @@
  */
 public class LogUtil {
 
-	// =========================================================================
-	// Static Members
-	// =========================================================================
 	private static final LogListener log = new JavaLogWriter();
-
 	
 	public static void log(int severity, String message) {
-		log.logMessage(severity, SOAPPlugin.PLUGIN_ID, new LogMessage(null, new Object[] {message}));
+		log.log(severity, SOAPPlugin.PLUGIN_ID, message);
 	}
 
 	public static void log(int severity, Throwable t, String message) {
-		log.logMessage(severity, SOAPPlugin.PLUGIN_ID, new LogMessage( t, new Object[] {message}));
+		log.log(severity, SOAPPlugin.PLUGIN_ID, t, message);
 	}	
 }

Modified: trunk/txn-jbossts/src/main/java/com/metamatrix/xa/arjuna/ArjunaTransactionProvider.java
===================================================================
--- trunk/txn-jbossts/src/main/java/com/metamatrix/xa/arjuna/ArjunaTransactionProvider.java	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/txn-jbossts/src/main/java/com/metamatrix/xa/arjuna/ArjunaTransactionProvider.java	2009-06-17 20:40:10 UTC (rev 1062)
@@ -94,8 +94,6 @@
         String baseDir = props.getProperty(TransactionService.TXN_STORE_DIR, System.getProperty("java.io.tmpdir")); //$NON-NLS-1$
         Configuration.setObjectStoreRoot(baseDir + File.separator +  "TeiidTxnStore" + File.separator + txnMgrUniqueName); //$NON-NLS-1$        
         
-        configureLogging(txnMgrUniqueName, props);
-
         // common properties
         arjPropertyManager.propertyManager.setProperty(com.arjuna.ats.arjuna.common.Environment.XA_NODE_IDENTIFIER, txnMgrUniqueName);
         arjPropertyManager.propertyManager.setProperty("com.arjuna.ats.arjuna.recovery.transactionStatusManagerPort",  props.getProperty(TransactionService.TXN_STATUS_PORT, TransactionService.DEFAULT_TXN_STATUS_PORT)) ; //$NON-NLS-1$        
@@ -120,36 +118,6 @@
         }
     }
     
-    private void configureLogging(String uniqueName, Properties props) throws XATransactionException{
-        // depending upon the logging type either log to the MM log file or create separate file for
-        // transaction logging.
-        AppenderSkeleton appender = null;        
-        if (Boolean.valueOf(props.getProperty(TransactionService.SEPARATE_TXN_LOG, TransactionService.DEFAULT_SEPARATE_TXN_LOG)).booleanValue()){
-            RollingFileAppender fileAppender;
-            try {
-                String baseDir = props.getProperty(TransactionService.TXN_MGR_LOG_DIR);
-                File directory = new File(baseDir);
-                if (!directory.exists()) {
-                    directory.mkdirs();
-                }
-                String filename = baseDir + "/" + uniqueName + ".log"; //$NON-NLS-1$ //$NON-NLS-2$
-                fileAppender = new RollingFileAppender(new PatternLayout("%d [%t] %-5p %c - %m%n"), filename, true); //$NON-NLS-1$
-                fileAppender.setMaxFileSize(props.getProperty(TransactionService.MAX_FILESIZE_MB, TransactionService.DEFAULT_LOGFILE_SIZE)+"MB"); //$NON-NLS-1$
-                fileAppender.setMaxBackupIndex(Integer.parseInt(props.getProperty(TransactionService.MAX_ROLLINGFILES, TransactionService.DEFAULT_MAX_ROLLOVER_FILES)));
-            } catch (IOException e) {
-                throw new XATransactionException(e);
-            }            
-            appender = fileAppender;
-        }
-        else {
-            appender = new MMLogAppender();            
-        }
-        appender.setThreshold(Level.DEBUG);
-
-        Logger root = Logger.getLogger("com.arjuna"); //$NON-NLS-1$
-        root.addAppender(appender);
-    }
-    
     /** 
      * @see org.teiid.dqp.internal.transaction.TransactionProvider#getXATerminator()
      */
@@ -195,43 +163,4 @@
     public void removeRecoverySource(String name) {
         XAConnectorRecovery.removeConnector(name);
     }
-    
-    static class MMLogAppender extends AppenderSkeleton{
-
-        protected void append(LoggingEvent event) {
-            int level = MessageLevel.ERROR;
-            
-            switch(event.getLevel().toInt()) {
-                case Level.DEBUG_INT:
-                    level = MessageLevel.DETAIL;
-                    break;
-                case Level.INFO_INT:
-                    level = MessageLevel.INFO;
-                    break;                    
-                case Level.WARN_INT:
-                    level = MessageLevel.WARNING;
-                    break;
-                case Level.ERROR_INT:
-                    level = MessageLevel.ERROR;
-                    break;
-                case Level.FATAL_INT:
-                    level = MessageLevel.CRITICAL;
-                    break;
-            }
-            
-            if (event.getThrowableInformation() != null) {
-                LogManager.log(level, LogCommonConstants.CTX_XA_TXN, event.getThrowableInformation().getThrowable(), event.getRenderedMessage());
-            }
-            else {
-                LogManager.log(level, LogCommonConstants.CTX_XA_TXN, event.getRenderedMessage());              
-            }
-        }
-
-        public void close() {
-        }
-
-        public boolean requiresLayout() {
-            return false;
-        }
-    }
 }

Modified: trunk/txn-jbossts/src/main/resources/CommonLogging-properties.xml
===================================================================
--- trunk/txn-jbossts/src/main/resources/CommonLogging-properties.xml	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/txn-jbossts/src/main/resources/CommonLogging-properties.xml	2009-06-17 20:40:10 UTC (rev 1062)
@@ -46,7 +46,7 @@
         type="System"/>
       <property
         name="com.arjuna.common.util.logger"
-        value="log4j"
+        value="jakarta"
         type="System"/>
     </properties>
 </transaction-service>

Modified: trunk/txn-jbossts/src/main/resources/jbossjts-properties.xml
===================================================================
--- trunk/txn-jbossts/src/main/resources/jbossjts-properties.xml	2009-06-16 21:58:15 UTC (rev 1061)
+++ trunk/txn-jbossts/src/main/resources/jbossjts-properties.xml	2009-06-17 20:40:10 UTC (rev 1062)
@@ -193,7 +193,7 @@
             type="System" value="0xffffffff"/>
         <property name="com.arjuna.common.util.logging.VisibilityLevel"
             type="System" value="0xffffffff"/>
-        <property name="com.arjuna.common.util.logger" type="System" value="log4j"/>
+        <property name="com.arjuna.common.util.logger" type="System" value="jakarta"/>
     </properties>
     <properties depends="arjuna" name="txoj">
         <!--




More information about the teiid-commits mailing list