JSON-привязка была добавлена в EclipseLink в версии 2.4. Если вы используете версию, которая не содержит эту версию (т.е. WebLogic 10.3.4 (11g) содержит EclipseLink 2.1.2), то по умолчанию у вас не будет доступа к этой функции. Рекомендуемое решение этой проблемы — создать общую библиотеку в WebLogic для более новой версии EclipseLink.
В WebLogic есть концепция
разделяемых библиотек . Они развернуты как EAR. Ниже показано, как будет выглядеть EAR для создания общей библиотеки для EclipseLink 2.4.
После развертывания общей библиотеки вам необходимо настроить корпоративные приложения для ее использования.
Ниже приведен тестовый сервлет, который вы можете включить в WAR для проверки версии 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 в общей библиотеке.
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 { } }