License Agreement, Release Notes, and Additional Help

 

License Agreement

The P6Spy Software License, Version 1.2

This license is derived and fully compatible with the Apache Software license, see http://www.apache.org/LICENSE.txt.

Copyright (c) 2001-2003 Andy Martin, Ph.D. and Jeff Goke
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the distribution.

3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment:

The original concept and code base for P6Spy was conceived and developed by Andy Martin, Ph.D. who generously contributed the first complete release to the public under this license.
This product was due to the pioneering work of Andy that began in December of 1995 developing applications that could seamlessly be deployed with minimal effort but with dramatic results. This code is maintained and extended by Jeff Goke and with the ideas and contributions of other P6Spy contributors. (http://www.p6spy.com)
Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear.

4. The names "P6Spy", "Jeff Goke", and "Andy Martin" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact license@p6spy.com.

5. Products derived from this software may not be called "P6Spy" nor may "P6Spy" appear in their names without prior written permission of Jeff Goke and Andy Martin.

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Trademark Notices

Sun, the Sun logo, Sun Microsystems, JavaSoft, JavaBeans, JDK, Java, HotJava, HotJava Views, Visual Java, Solaris, NEO, Joe, Netra, NFS, ONC, ONC+, OpenWindows, PC-NFS, SNM, SunNet Manager, Solaris sunburst design, Solstice, SunCore, SolarNet, SunWeb, Sun Workstation, The Network Is The Computer, ToolTalk, Ultra, Ultracomputing, Ultraserver, Where The Network Is Going, Sun WorkShop, XView, Java WorkShop, the Java Coffee Cup logo, and Visual Java are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
Windows, WindowsNT, and Win32 are registered trademarks of Microsoft Corp.

JBoss and JBoss Group are trademarks of Marc Fleury under operation by JBoss Group, LLC.

Sybase, SQL Anywhere, and Adaptive Server Anywhere are trademarks of Sybase, Inc.

Microsoft SQL Server is a trademark of the Microsoft Corporation.

BEA, WebLogic, Tuxedo, and Jolt are registered trademarks, and How Business Becomes E-Business, BEA WebLogic E-Business Platform, BEA Builder, BEA eLink, BEA WebLogic Enterprise, BEA WebLogic Express, BEA WebLogic Integration, BEA WebLogic Personalization Server, BEA WebLogic Portal, and BEA WebLogic Server are trademarks of BEA Systems, Inc.
Oracle is a registered trademark, and ConText, Oracle Alliance and Oracle8 are trademarks or registered trademarks of Oracle Corporation.

DB2, DB2 OLAP Server, WebSphere, and IBM are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries or both.

MySQL is a trademark of MySQL AB in the United States and other countries.

Other product names mentioned herein and throughout the this web site are the trademarks of their respective owners.

Release Notes

Version 1.2

Version 1.1

Version 1.0.1

Version 1.0 Production Release

Version 1.0 beta 9

Version 1.0 beta 8

Version 1.0 beta 7

Version 1.0 beta 6

Version 1.0 beta 5

Version 1.0 beta 4

Version 1.0 beta 3

Version 1.0 beta 1 & 2

Version 1.0 alpha

Version 0.8

Version 0.72

Version 0.71

Version 0.7

Version 0.6

Known Issues

That cast fails when P6SpyDriver is in place, since the class it tries to cast is against P6SpyDriver itself. P6SpyDriver does not expose that driver-specific method and the P6Spy PreparedStatement class is not a subclass of org.gjt.mm.mysql.PreparedStatement. The one workaround available requires code changes in the application. Each P6Spy class exposes a method called getJDBC() that returns the real JDBC driver. With this method, an application can cast a class, such as PreparedStatement, to P6PreparedStatement, invoke getJDBC(), and then cast the returned value to the native driver class, as in OraclePreparedStatement. In this example, the non-JDBC statement is not logged but the application will continue to function.

Ideally, a long-term, native solution will be provided. One idea under consideration is to provide vendor-specific versions (Oracle or MySQL, for example) of P6Spy that subclass the vendor driver, so a cast can be successfully executed. These versions would expose the vendor-specific methods. However, this is not yet under development, and other suggestions are welcome

Troubleshooting

You may see that the driver is loaded, but a message will indicate that the spy.properties file is not found, and will list all of the directories searched for that file. In this case, move the spy.properties file to one of the searched directories listed.