[jboss-user] [EJB 3.0] - Re: Adding EJB3 Stateless EJBs to an EJB2.1 jar ClassCastExc
MarcusDidiusFalco
do-not-reply at jboss.com
Tue Apr 7 04:56:53 EDT 2009
Thank you for your interest
| package de.dzbw.dnp.migvis.persistence;
|
| import de.dzbw.dnp.migvis.person.pojo.Bearbeitungverbund;
|
| public interface BearbeitungsverbundDAOI {
| public Bearbeitungverbund getBearbeitungverbund(int bvId);
| }
|
|
| package de.dzbw.dnp.migvis.persistence;
|
| import javax.ejb.Local;
|
| @Local
| public interface BearbeitungsverbundDAOLocal extends BearbeitungsverbundDAOI {
|
| }
|
| package de.dzbw.dnp.migvis.persistence;
|
| import javax.ejb.Remote;
|
| @Remote
| public interface BearbeitungsverbundDAORemote extends BearbeitungsverbundDAOI {
|
| }
|
| package de.dzbw.dnp.migvis.persistence;
|
|
| import java.sql.Connection;
| import java.sql.PreparedStatement;
| import java.sql.ResultSet;
| import java.sql.SQLException;
| import java.util.Date;
|
| import javax.ejb.Stateless;
|
| import org.apache.log4j.Logger;
|
|
| import de.dzbw.dnp.migvis.person.pojo.Bearbeitungverbund;
| import de.dzbw.dnp.migvis.person.pojo.Person;
| import de.dzbw.dnp.migvis.person.pojo.Personengruppenkennzeichen;
| import de.dzbw.dnp.migvis.person.pojo.Stellung;
| import de.dzbw.dnp.migvis.person.pojo.Vorgang;
| import de.dzbw.dnp.migvis.schnittstelle.common.BaseDAO;
|
| @Stateless
| public class BearbeitungsverbundDAO extends BaseDAO implements BearbeitungsverbundDAOLocal, BearbeitungsverbundDAORemote{
|
| private Logger log = Logger.getLogger(this.getClass());
|
| public Bearbeitungverbund getBearbeitungverbund(int bvId) {
| if (log.isDebugEnabled()) {
| log.debug("Entry getBearbeitungverbund(" + bvId + ")");
| }
| Bearbeitungverbund bearbeitungverbund = null;
| Connection connection = getConnection();
| String sql = "Select P.ID, P.VORNAME, P.NAME, P.STELLBE, P.GEBDATUM, v.id, v.pergrp, v.zda FROM PERSON P INNER JOIN VORGANG V ON p.id = v.personid WHERE P.IDBE= ? ORDER BY STELLBE ASC, p.gebdatum, v.pergrp";
| ResultSet resultSet = null;
| try {
| PreparedStatement statement = connection.prepareStatement(sql);
| statement.setInt(1, bvId);
| resultSet = statement.executeQuery();
| if (resultSet != null) {
| bearbeitungverbund = new Bearbeitungverbund(bvId);
| Person person = null;
| while (resultSet.next()) {
| int id = resultSet.getInt(1);
| //Neue Person
| if (! bearbeitungverbund.containsPerson(id)) {
| String vorname = resultSet.getString(2);
| String name = resultSet.getString(3);
| int stellbe = resultSet.getInt(4);
| Stellung stellung = Stellung.getStellungById(stellbe);
| Date geburtsDatum = resultSet.getDate(5);
| person = new Person(id, vorname, name, geburtsDatum, stellung);
| person.addVorgang(getVorgang(resultSet));
| bearbeitungverbund.addPerson(person);
| }
| //Nur neuer Fall der zur aktuellen Person hinzugef????gt wird
| else {
| bearbeitungverbund.getPerson(id).addVorgang(getVorgang(resultSet));
| }
|
| }
| }
| else {
| log.info("Kein Bearbeitungsverbund f????r id " + bvId + " gefunden");
| }
| } catch (SQLException e) {
| log.error(e);
| }
|
|
| return bearbeitungverbund;
| }
|
| private Vorgang getVorgang(ResultSet resultSet) throws SQLException {
| int fallId = resultSet.getInt(6);
| int fall = resultSet.getInt(7);
| Personengruppenkennzeichen personengruppenkennzeichen = Personengruppenkennzeichen.getPersonengruppenkennzeichenById(fall);
| Date zdaDatum = resultSet.getDate(8);
| Vorgang vorgang = new Vorgang(fallId, zdaDatum, personengruppenkennzeichen);
| return vorgang;
| }
|
| }
|
The beans are packaged in a jar.
jboss.xml
| <?xml version="1.0" encoding="UTF-8"?>
| <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">
|
| <jboss>
|
| <security-domain>java:/jaas/MigvisLdapRealm</security-domain>
|
| <enterprise-beans>
|
| <!--
| To add beans that you have deployment descriptor info for, add
| a file to your XDoclet merge directory called jboss-beans.xml that contains
| the <session></session>, <entity></entity> and <message-driven></message-driven>
| markup for those beans.
| -->
|
| <session>
| <ejb-name>dzbw/migvis/Schnittstelle</ejb-name>
| <jndi-name>ejb/dzbw/migvis/Schnittstelle</jndi-name>
| <local-jndi-name>dzbw/migvis/SchnittstelleLocal</local-jndi-name>
|
| <method-attributes>
| </method-attributes>
| </session>
|
| <!--
| write a merge file jboss-webservices.ent for webservice-description
| -->
|
| </enterprise-beans>
|
| <resource-managers>
| </resource-managers>
|
| <!--
| | for container settings, you can merge in jboss-container.xml
| | this can contain <invoker-proxy-bindings/> and <container-configurations/>
| -->
|
| </jboss>
|
ejb-jar.xml:
| <?xml version="1.0" encoding="UTF-8"?>
|
| <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
|
| <ejb-jar >
|
| <description><![CDATA[No Description.]]></description>
| <display-name>Generated by XDoclet</display-name>
|
| <enterprise-beans>
|
| <!-- Session Beans -->
| <session >
| <description><![CDATA[Die Klasse <code>SchnittstelleBean</code> dient als Fassadenbean.]]></description>
| <display-name>Schnittstelle</display-name>
|
| <ejb-name>dzbw/migvis/Schnittstelle</ejb-name>
|
| <home>de.dzbw.dnp.migvis.schnittstelle.SchnittstelleHome</home>
| <remote>de.dzbw.dnp.migvis.schnittstelle.Schnittstelle</remote>
| <local-home>de.dzbw.dnp.migvis.schnittstelle.SchnittstelleLocalHome</local-home>
| <local>de.dzbw.dnp.migvis.schnittstelle.SchnittstelleLocal</local>
| <ejb-class>de.dzbw.dnp.migvis.schnittstelle.SchnittstelleBean</ejb-class>
| <session-type>Stateless</session-type>
| <transaction-type>Container</transaction-type>
|
| <env-entry>
| <env-entry-name>DataSourceName</env-entry-name>
| <env-entry-type>java.lang.String</env-entry-type>
| <env-entry-value><![CDATA[java:/migvisDS]]></env-entry-value>
| </env-entry>
|
| </session>
|
| <!--
| To add session beans that you have deployment descriptor info for, add
| a file to your XDoclet merge directory called session-beans.xml that contains
| the <session></session> markup for those beans.
| -->
|
| <!-- Entity Beans -->
| <!--
| To add entity beans that you have deployment descriptor info for, add
| a file to your XDoclet merge directory called entity-beans.xml that contains
| the <entity></entity> markup for those beans.
| -->
|
| <!-- Message Driven Beans -->
| <!--
| To add message driven beans that you have deployment descriptor info for, add
| a file to your XDoclet merge directory called message-driven-beans.xml that contains
| the <message-driven></message-driven> markup for those beans.
| -->
|
| </enterprise-beans>
|
| <!-- Relationships -->
|
| <!-- Assembly Descriptor -->
| <!--
| To specify your own assembly descriptor info here, add a file to your
| XDoclet merge directory called assembly-descriptor.xml that contains
| the <assembly-descriptor></assembly-descriptor> markup.
| -->
|
| <assembly-descriptor >
| <!--
| To specify additional security-role elements, add a file in the merge
| directory called ejb-security-roles.xml that contains them.
| -->
|
| <!-- method permissions -->
| <!--
| To specify additional method-permission elements, add a file in the merge
| directory called ejb-method-permissions.ent that contains them.
| -->
| <method-permission >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <unchecked/>
| <method >
| <description><![CDATA[description not supported yet by ejbdoclet]]></description>
| <ejb-name>dzbw/migvis/Schnittstelle</ejb-name>
| <method-name>*</method-name>
| </method>
| </method-permission>
|
| <!-- transactions -->
| <!--
| To specify additional container-transaction elements, add a file in the merge
| directory called ejb-container-transactions.ent that contains them.
| -->
| <container-transaction >
| <method >
| <ejb-name>dzbw/migvis/Schnittstelle</ejb-name>
| <method-name>*</method-name>
| </method>
| <trans-attribute>NotSupported</trans-attribute>
| </container-transaction>
|
| <!-- finder transactions -->
|
| <!-- message destinations -->
| <!--
| To specify additional message-destination elements, add a file in the merge
| directory called ejb-message-destinations.ent that contains them.
| -->
|
| <!-- exclude list -->
| <!--
| To specify an exclude-list element, add a file in the merge directory
| called ejb-exclude-list.xml that contains it.
| -->
| </assembly-descriptor>
|
| </ejb-jar>
|
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4223930#4223930
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4223930
More information about the jboss-user
mailing list