Статьи

Обновление EclipseLink в WebLogic

JSON-привязка была добавлена ​​в EclipseLink в версии 2.4. Если вы используете версию, которая не содержит эту версию (т.е. WebLogic 10.3.4 (11g) содержит EclipseLink 2.1.2), то по умолчанию у вас не будет доступа к этой функции. Рекомендуемое решение этой проблемы — создать общую библиотеку в WebLogic для более новой версии EclipseLink.

Создать общую библиотеку


В WebLogic есть концепция
разделяемых библиотек . Они развернуты как EAR. Ниже показано, как будет выглядеть EAR для создания общей библиотеки для EclipseLink 2.4.

EclipseLink24_SharedLibrary.ear 
  • Библиотека / eclipselink.jar 
  • META-INF / application.xml 
  • META-INF / MANIFEST.MF 
  • META-INF / WebLogic-application.xml
application.xml

<application>
  <display-name>EclipseLink 2.4 Shared Library</display-name>
  <module>
    <java></java>
  </module>
</application>
MANIFEST.MF
 

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.7.0_04-b21 (Oracle Corporation)
Extension-Name: EclipseLink-2.4.0
Specification-Version: 2.4.0
Implementation-Version: 2.4.0.v20120608-r11652
WebLogic-application.xml

<weblogic-application>
  <prefer-application-packages>
    <package-name>org.eclipse.persistence.*</package-name>
  </prefer-application-packages>
</weblogic-application>
Используйте общую библиотеку


После развертывания общей библиотеки вам необходимо настроить корпоративные приложения для ее использования.

SampleApplication.ear
  • META-INF / MANIFEST.MF 
  • META-INF / WebLogic-application.xml 
  • SampleApplication.war 
WebLogic-application.xml 

WebLogic-application.xml файл используется для ссылки на общую библиотеку. Записи в элементе library-ref должны соответствовать соответствующим записям из
MANIFEST.MF в общей библиотеке.

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-application xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-application" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_5.xsd http://xmlns.oracle.com/weblogic/weblogic-application http://xmlns.oracle.com/weblogic/weblogic-application/1.2/weblogic-application.xsd">
    <!--weblogic-version:10.3.4-->
    <wls:application-param>
        <wls:param-name>webapp.encoding.default</wls:param-name>
        <wls:param-value>UTF-8</wls:param-value>
    </wls:application-param>
    <wls:library-ref>
        <wls:library-name>EclipseLink-2.4.0</wls:library-name>
        <wls:specification-version>2.4.0</wls:specification-version>
        <wls:implementation-version>2.4.0.v20120608-r11652</wls:implementation-version>
        <wls:exact-match>true</wls:exact-match>
    </wls:library-ref>
</wls:weblogic-application>
TestServlet


Ниже приведен тестовый сервлет, который вы можете включить в WAR для проверки версии EclipseLink.

package com.example;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.http.*;
 
public class TestServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
 
    public TestServlet() {
        super();
    }
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.append("<html><body>");
        out.append(org.eclipse.persistence.Version.getVersion());
        out.append("</body></html>");
    }
 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }
 
}
За дополнительной информацией