All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.persistence.tools.dbws.WeblogicPackager Maven / Gradle / Ivy

There is a newer version: 5.0.0-B07
Show newest version
/*******************************************************************************
 * Copyright (c) 1998, 2012 Oracle and/or its affiliates. All rights reserved.
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
 * which accompanies this distribution.
 * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
 * and the Eclipse Distribution License is available at
 * http://www.eclipse.org/org/documents/edl-v10.php.
 *
 * Contributors:
 *     Mike Norman - July 17 2008, creating packager for WLS 10.3 version of JAX-WS RI
 ******************************************************************************/

 package org.eclipse.persistence.tools.dbws;

//javase imports
 import java.io.OutputStream;

//EclipseLink imports
import org.eclipse.persistence.internal.sessions.factories.model.SessionConfigs;
import org.eclipse.persistence.internal.sessions.factories.model.log.LogConfig;
import org.eclipse.persistence.internal.sessions.factories.model.login.DatabaseLoginConfig;
import org.eclipse.persistence.internal.sessions.factories.model.platform.CustomServerPlatformConfig;
import org.eclipse.persistence.internal.sessions.factories.model.project.ProjectConfig;
import org.eclipse.persistence.internal.sessions.factories.model.session.DatabaseSessionConfig;
import org.eclipse.persistence.internal.sessions.factories.model.session.ServerSessionConfig;
import static org.eclipse.persistence.tools.dbws.DBWSPackager.ArchiveUse.archive;

/**
 * 

* PUBLIC: WeblogicPackager extends {@link JSR109WebServicePackager}. It is responsible for generating
* the WebLogic-specific deployment information - specifically, the settings in the sessions.xml file
* that require WebLogic-specific platform information * * @author Mike Norman - [email protected] * @since EclipseLink 1.x */ public class WeblogicPackager extends WarPackager { public WeblogicPackager() { this(new WarArchiver(), "wls", archive); } protected WeblogicPackager(Archiver archiver, String packagerLabel, ArchiveUse useJavaArchive) { super(archiver, packagerLabel, useJavaArchive); } @Override public SessionConfigs buildSessionsXML(OutputStream dbwsSessionsStream, DBWSBuilder builder) { SessionConfigs ts = super.buildSessionsXML(dbwsSessionsStream, builder); String dataSource = builder.getDataSource(); if (dataSource != null) { DatabaseSessionConfig tmpConfig = (DatabaseSessionConfig)ts.getSessionConfigs().firstElement(); buildDatabaseSessionConfig(ts, tmpConfig, builder); } return ts; } // WebLogic_10_Platform @SuppressWarnings("unchecked") public static void buildDatabaseSessionConfig(SessionConfigs ts, DatabaseSessionConfig tmpConfig, DBWSBuilder builder) { ProjectConfig orProject = tmpConfig.getPrimaryProject(); LogConfig logConfig = tmpConfig.getLogConfig(); String sessionName = tmpConfig.getName(); DatabaseSessionConfig orSessionConfig = new ServerSessionConfig(); orSessionConfig.setPrimaryProject(orProject); orSessionConfig.setName(sessionName); orSessionConfig.setLogConfig(logConfig); CustomServerPlatformConfig customServerPlatformConfig = new CustomServerPlatformConfig(); customServerPlatformConfig.setEnableJTA(true); customServerPlatformConfig.setEnableRuntimeServices(true); customServerPlatformConfig.setServerClassName( "org.eclipse.persistence.platform.server.wls.WebLogic_10_Platform"); customServerPlatformConfig.setExternalTransactionControllerClass( "org.eclipse.persistence.transaction.wls.WebLogicTransactionController"); orSessionConfig.setServerPlatformConfig(customServerPlatformConfig); DatabaseLoginConfig dlc = new DatabaseLoginConfig(); dlc.setPlatformClass(builder.getPlatformClassname()); dlc.setExternalConnectionPooling(true); dlc.setExternalTransactionController(true); dlc.setDatasource(builder.getDataSource()); dlc.setBindAllParameters(true); dlc.setStreamsForBinding(true); orSessionConfig.setLoginConfig(dlc); ts.getSessionConfigs().set(0, orSessionConfig); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy