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

标签 osgi xpages xpages-extlib

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

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

最佳答案

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

您的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>

在 list 中(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);
}

}

希望有帮助

关于osgi - 用于关系驱动程序的 xPages OSGi 扩展库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19259410/

相关文章:

grails - 是否可以将简单的grails应用程序转换为可以在Adobe CQ中运行的OSGi软件包?

javascript - 如何使 xPages 计算字段日期转换器仅显示今天的时间?

xpages - 如何在xpage中创建多数据库搜索?

java - 让 Eclipse OSGI 激活器相互继承是个好主意吗?

java - 在 Kotlin 中用成员表达 Java 注解类

xpages - XPage 中的共享列?

Xpages 使用 auth Token 调用 Rest 服务

xpages - XPage 的 Java 控件中的设置图标

eclipse - 哪个版本的 OSGi 由哪个版本的 Eclipse/Equinox 实现?

javascript - XPages 中的列表功能