用于关系驱动程序的xPages OSGi扩展库

时间:2013-10-08 22:10:34

标签: osgi xpages xpages-extlib

我一直在寻找在xpages扩展库中使用关系数据访问。我有它工作,但我把jar放在服务器上让它工作。部署jdbc驱动程序的推荐方法似乎是通过自定义扩展库。

是否存在关于如何创建此内容的一些说明。我根本没有任何创建OSGi插件的经验,所以我在这里有点不合时宜。

3 个答案:

答案 0 :(得分:2)

帕特里克 它比看起来容易。在Eclipse(或Domino Designer的Java视图)中,您可以创建一个插件项目。在那里,您定义扩展点,使其成为扩展库并实现一个简单的类(主要返回版本)。

您的plug-in.xml看起来像这样(您可能还有其他内容):

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <!-- This makes the plug-in an XPages extension library -->
   <extension point="com.ibm.commons.Extension">
      <service class="com.ibm.ctp.CoreLibrary" type="com.ibm.xsp.Library">
      </service>
   </extension>
</plugin>

在清单中(Eclipse有一个很好的编辑器,所以不用担心),确保导出JDBC驱动程序包,使它们变得可见。最后你的激活类看起来像这样:

import org.eclipse.core.runtime.Plugin;
import org.osgi.framework.BundleContext;

public class Activator extends Plugin {

// The shared instance
private static Activator    plugin;
private static String       version;

/**
 * Returns the shared instance
 * 
 * @return the shared instance
 */
public static CSIActivator getDefault() {
    return plugin;
}

public static String getVersion() {
    if (version == null) {
        try {
            version = plugin.getBundle().getHeaders().get("Bundle-Version").toString();
        } catch (Exception e) {
            e.printStackTrace();
            version = "3.7.2";
        }
    }
    return version;
}

public Activator() {
    // No Action needed
}

/* (non-Javadoc)
 * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
 */
@Override
public void start(final BundleContext context) throws Exception {
    super.start(context);
    plugin = this;
}

/* (non-Javadoc)
 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
 */
@Override
public void stop(final BundleContext context) throws Exception {
    plugin = null;
    super.stop(context);
}

}

希望有所帮助

答案 1 :(得分:1)

本书中还有详细的说明XPages Extension Library,从第381页开始。作者在示例中使用了DB2,但切换到MySQL驱动程序非常容易。

答案 2 :(得分:1)

有一个新的OpenNTF项目可用于创建JDBC驱动程序的插件。见http://www.openntf.org/Internal/home.nsf/project.xsp?action=openDocument&name=XPages%20JDBC%20Driver%20Wrapper

霍华德