2

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

是否有一些关于如何创建它的说明。我根本没有任何创建 OSGi 插件的经验,所以我在这里有点不适应。

4

3 回答 3

2

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

您的 plugin.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);
}

}

希望有帮助

于 2013-10-09T00:52:31.693 回答
1

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

霍华德

于 2013-10-14T21:09:23.537 回答
1

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

于 2013-10-09T06:11:21.453 回答