Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при работе с CMP 
:(
    Опции темы
sanches_ru
Дата 5.2.2007, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.2.2007

Репутация: нет
Всего: нет



помагите кто чем может! При работе с CMP c проблемой. я создал проект в NetBeans вот что получилось:

Код

package newpackage;

public interface UntitledLocal extends javax.ejb.EJBLocalObject, newpackage.UntitledLocalBusiness {

}

  
*********
Код

package newpackage;

public interface UntitledLocalBusiness {
    public abstract java.math.BigDecimal getId();

    public abstract java.lang.Integer getName();

    public abstract void setName(java.lang.Integer name);
    
}

****
Код

package newpackage;

public interface UntitledLocalHome extends javax.ejb.EJBLocalHome {
    
    newpackage.UntitledLocal findByPrimaryKey(java.math.BigDecimal key)  throws javax.ejb.FinderException;

    public newpackage.UntitledLocal create(java.math.BigDecimal id, java.lang.Integer name) throws javax.ejb.CreateException;

    /**
     * 
     */
    java.util.Collection findById(java.math.BigDecimal id) throws javax.ejb.FinderException;

    /**
     * 
     */
    java.util.Collection findByName(java.lang.Integer name) throws javax.ejb.FinderException;
    
    
}

*******
Код

package newpackage;

import javax.ejb.*;


public abstract class UntitledBean implements javax.ejb.EntityBean, newpackage.UntitledLocalBusiness {
    private javax.ejb.EntityContext context;
    
    // <editor-fold defaultstate="collapsed" desc="EJB infrastructure methods. Click on the + sign on the left to edit the code.">
    // TODO Consider creating Transfer Object to encapsulate data
    // TODO Review finder methods
    
    public void setEntityContext(javax.ejb.EntityContext aContext) {
        context = aContext;
    }
    
    public void ejbActivate() {
        
    }
    
   
    public void ejbPassivate() {
        
    }
  
    public void ejbRemove() {
        
    }
    
  
    public void unsetEntityContext() {
        context = null;
    }
    
   
    public void ejbLoad() {
        
    }
   
    public void ejbStore() {
        
    }
  
    
    
    public abstract java.math.BigDecimal getId();
    public abstract void setId(java.math.BigDecimal id);
    
    public abstract java.lang.Integer getName();
    public abstract void setName(java.lang.Integer name);
    
    
    public java.math.BigDecimal ejbCreate(java.math.BigDecimal id, java.lang.Integer name)  throws javax.ejb.CreateException {
        if (id == null) {
            throw new javax.ejb.CreateException("The field \"id\" must not be null");
        }
        
        // TODO add additional validation code, throw CreateException if data is not valid
        setId(id);
        setName(name);
        
        return null;
    }
    
    public void ejbPostCreate(java.math.BigDecimal id, java.lang.Integer name) {
        // TODO populate relationships here if appropriate
        
    }
}

********
Код

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
    <display-name>EnterpriseApplication2-ejb</display-name>
    <enterprise-beans>
        <entity>
            <description>jdbc:derby://localhost:1527/db [sa on SA]</description>
            <display-name>UntitledEB</display-name>
            <ejb-name>UntitledBean</ejb-name>
            <home>newpackage.UntitledLocalHome</home>
             <remote>newpackage.UntitledLocal </remote>
            <ejb-class>newpackage.UntitledBean</ejb-class>
            <persistence-type>Container</persistence-type>
            <prim-key-class>java.math.BigDecimal</prim-key-class>
            <reentrant>false</reentrant>
            <abstract-schema-name>Untitled</abstract-schema-name>
            <cmp-field>
                <field-name>id</field-name>
            </cmp-field>
            <cmp-field>
                <field-name>name</field-name>
            </cmp-field>
            <primkey-field>id</primkey-field>
            <query>
                <description>auto generated method</description>
                <query-method>
                    <method-name>findById</method-name>
                    <method-params>
                        <method-param>java.math.BigDecimal</method-param>
                    </method-params>
                </query-method>
                <ejb-ql>SELECT OBJECT(u) FROM Untitled AS u WHERE u.id = ?1</ejb-ql>
            </query>
            <query>
                <description>auto generated method</description>
                <query-method>
                    <method-name>findByName</method-name>
                    <method-params>
                        <method-param>java.lang.Integer</method-param>
                    </method-params>
                </query-method>
                <ejb-ql>SELECT OBJECT(u) FROM Untitled AS u WHERE u.name = ?1</ejb-ql>
            </query>
        </entity>
        </enterprise-beans>
    <assembly-descriptor>
        <container-transaction>
            <method>
                <ejb-name>UntitledBean</ejb-name>
                <method-name>*</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
        </container-transaction>
        </assembly-descriptor>
    </ejb-jar>


остальное писал сам
Код

<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: mysql-ds.xml,v 1.3.2.3 2006/02/07 14:23:00 acoliver Exp $ -->
<!--  Datasource config for MySQL using 3.0.9 available from:
http://www.mysql.com/downloads/api-jdbc-stable.html
-->

<datasources>
  <local-tx-datasource>
    <jndi-name>UntitledBean</jndi-name>
    <connection-url>jdbc:derby://localhost:1527/db [sa on SA]</connection-url>
    <driver-class>org.apache.derby.jdbc.ClientDriver</driver-class>
    <user-name>SA</user-name>
    <password>1234</password>
    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
   
    <metadata>
       <type-mapping>UntitledLocal</type-mapping>
    </metadata>
  </local-tx-datasource>
</datasources>

*****
Код

<?xml version="1.0" encoding="UTF-8"?>
<jboss>
  <enterprise-beans>
    <entity>
      <ejb-name>UntitledBean</ejb-name>
      <jndi-name>UntitledBean</jndi-name>
       <local-jndi-name>UntitledBean</local-jndi-name> 
    </entity>
  </enterprise-beans>
</jboss>

**********


Код

........
........ 
<%
         
             InitialContext intCon = new InitialContext();
             Object ref = intCon.lookup("java:UntitledBean");
             UntitledLocalHome home = (UntitledLocalHome)(PortableRemoteObject.narrow(ref, UntitledLocalHome.class));
           
             %>
......

после вызова  narrow он пичатает следуюшие :
Код

org.apache.jasper.JasperException: Exception in JSP: /index.jsp:45

42:             java.lang.Integer Int = new java.lang.Integer(454);
43:              InitialContext intCon = new InitialContext();
44:              Object ref = intCon.lookup("java:UntitledBean");
45:              UntitledLocalHome home = (UntitledLocalHome)(PortableRemoteObject.narrow(ref, UntitledLocalHome.class));
46:           
47:              %>
48:     </body>


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause 
java.lang.ClassCastException
    com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:229)
    javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:81)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)



 smile В чем проблема не знаю .......
большое спасибо!!!
PM MAIL   Вверх
w1nd
Дата 5.2.2007, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 7
Всего: 54



Для начала уберите PortableRemoteObject.narrow() - этого не нужно делать для локальных объектов.
Код
UntitledLocalHome home = (UntitledLocalHome) intCon.lookup("java:UntitledBean");


Это сообщение отредактировал(а) w1nd - 5.2.2007, 22:22


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
sanches_ru
Дата 5.2.2007, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.2.2007

Репутация: нет
Всего: нет



вот посмотри что теперь пишет!!Спасибо


org.apache.jasper.JasperException: Exception in JSP: /index.jsp:46

43:              InitialContext intCon = new InitialContext();
44:              Object ref = intCon.lookup("java:UntitledBean");
45:            //  UntitledLocalHome home = (UntitledLocalHome)(PortableRemoteObject.narrow(ref, UntitledLocalHome.class));
46:              UntitledLocalHome home = (UntitledLocalHome)ref;
47:              %>
48:     </body>
49: </html>


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause 
java.lang.ClassCastException: org.jboss.resource.adapter.jdbc.WrapperDataSource cannot be cast to newpackage.UntitledLocalHome
    org.apache.jsp.index_jsp._jspService(index_jsp.java:82)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
PM MAIL   Вверх
w1nd
Дата 5.2.2007, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 7
Всего: 54



У вас datasource назван так же, как и бин. С помощью контекста вы получаете именно datasource.


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
sanches_ru
Дата 6.2.2007, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.2.2007

Репутация: нет
Всего: нет



надо в jboss-ds.xml поменять  <jndi-name>UntitledBean</jndi-name> например на  <jndi-name>db</jndi-name>,
а остальное оставить как есть?
Подскажите пожалуйста, как правильно мне все это переделать!уже неделю пытаюсь не чего не выходит!
PM MAIL   Вверх
w1nd
Дата 6.2.2007, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 22.3.2006
Где: Москва

Репутация: 7
Всего: 54



Цитата(sanches_ru @  6.2.2007,  00:10 Найти цитируемый пост)
надо в jboss-ds.xml поменять  <jndi-name>UntitledBean</jndi-name> например на  <jndi-name>db</jndi-name>,а остальное оставить как есть?

Пока да. Остальное - завтра, ночь уже совсем smile


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
tux
Дата 6.2.2007, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(sanches_ru @  6.2.2007,  00:10 Найти цитируемый пост)
надо в jboss-ds.xml поменять  <jndi-name>UntitledBean</jndi-name> например на  <jndi-name>db</jndi-name>,
а остальное оставить как есть?
Подскажите пожалуйста, как правильно мне все это переделать!уже неделю пытаюсь не чего не выходит! 

Нет, это не все. Еще неделя понадобится. Навскидку следующие ошибки.
  • В источнике данных явно неправильный URL (jdbc:derby://localhost:1527/db [sa on SA]). Посмотри в документации в Derby правильный формат.
  • Я совсем не уверен, что класс, указанный тэге exception-sorter-class-name, будет работать с Derby - он на MySQL рассчитан.
  • Внутри тэга type-mapping должно быть какое-то название маппинга типов SQL на типы Java из файла ${JBOSS_HOME}/server/default/conf/standardjbosscmp-jdbc.xml. Имя UntitledBean точно там есть?
  • Нужно указать, что бин UntitledBean связан с созданным источником данных. Это делается кажется в jboss.xml. Хотя и не уверен.
Ну вот, это то что сразу бросается в глаза. Думаю не последние проблемы.
PM MAIL Skype GTalk Jabber YIM   Вверх
sanches_ru
Дата 6.2.2007, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.2.2007

Репутация: нет
Всего: нет



Большое спасибо! попробую устронить !!!!! что полючится напишу ..... !
PM MAIL   Вверх
sanches_ru
Дата 6.2.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.2.2007

Репутация: нет
Всего: нет



написал jboss.xml таким образом:
Код

<?xml version="1.0" encoding="UTF-8"?>
<jboss>
  <enterprise-beans>
    <entity>
      <ejb-name>UntitledBean</ejb-name>
      <jndi-name>db</jndi-name>
       <local-jndi-name>UntitledBean1</local-jndi-name> 
    </entity>
  </enterprise-beans>
</jboss>

затем исправил jboss-ds.xml
Код

..
..
<datasources>
  <local-tx-datasource>
    <jndi-name>db</jndi-name>
    <connection-url>jdbc:derby://localhost:1527/db</connection-url>
    <driver-class>org.apache.derby.jdbc.ClientDriver</driver-class>
    <user-name>SA</user-name>
    <password>1234</password>
...
...




в итоге он  не может задепоить UntitledBean1.
Код

org.apache.jasper.JasperException: Exception in JSP: /index.jsp:44

41:            java.math.BigDecimal big = new java.math.BigDecimal(455); 
42:             java.lang.Integer Int = new java.lang.Integer(454);
43:              InitialContext intCon = new InitialContext();
44:              Object ref = intCon.lookup("java:UntitledBean1");
45:            ////  UntitledLocalHome home = (UntitledLocalHome)(PortableRemoteObject.narrow(ref, UntitledLocalHome.class));
46:            //  javax.sql.DataSource dataSource = (DataSource)ref;
47:              UntitledLocalHome home = (UntitledLocalHome)ref;


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause 
javax.servlet.ServletException: UntitledBean1 not bound
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)


что я не так сделал!???!
и еше один вопрос зачем нужен jboss-web.xml!!!

Огромное спасибо!!!


PM MAIL   Вверх
tux
Дата 6.2.2007, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Цитата(sanches_ru @  6.2.2007,  13:43 Найти цитируемый пост)
в итоге он  не может задепоить UntitledBean1.

Задеплоить он его как раз может, он найти не может. Рекомендую все-таки почитать документацию что значат тэги в jboss.xml, ejb-jar.xml прежде чем кодить. 
Вот это имя бина в JNDI:
Код

<jndi-name>db</jndi-name>

По какой причине он теперь зовется db?

Возьми любой пример для JBoss, посмотри как там сделано. С такими результатами не неделя нужна, методом научного тыка можно вечно искать где ошибка. Ты в одном месте исправляешь, а другом тут же ломаешь.
PM MAIL Skype GTalk Jabber YIM   Вверх
sanches_ru
Дата 9.2.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.2.2007

Репутация: нет
Всего: нет



прочитал в книге Буди Курняван, чтоб забиндить ejbBean достаточно его имя опредиленного в дискрипторе развертывания ejb-jar.xml
Код

 <enterprise-beans>
        <entity>
            <description>jdbc:derby://localhost:1527/db [sa on SA]</description>
            <display-name>UntitledEB</display-name>
            <ejb-name>UntitledBean</ejb-name>
            <home>newpackage.UntitledLocalHome</home>
             <remote>newpackage.UntitledLocal </remote>
            <ejb-class>newpackage.UntitledBean</ejb-class>
            <persistence-type>Container</persistence-type>
            <prim-key-class>java.math.BigDecimal</prim-key-class>
            <reentrant>false</reentrant>

в коде прописываю так:
Код

   InitialContext intCon = new InitialContext();
             Object ref = intCon.lookup("UntitledBean");

на что он отвечает :::
Код

org.apache.jasper.JasperException: Exception in JSP: /index.jsp:45

42:            java.math.BigDecimal big = new java.math.BigDecimal(455); 
43:             java.lang.Integer Int = new java.lang.Integer(454);
44:              InitialContext intCon = new InitialContext();
45:              Object ref = intCon.lookup("UntitledBean");
46:              UntitledLocalHome home = (UntitledLocalHome)(PortableRemoteObject.narrow(ref, UntitledLocalHome.class));
47:              //javax.sql.DataSource dataSource = ( javax.sql.DataSource)ref;
48:              //UntitledLocalHome home = (UntitledLocalHome)ref;


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause 
javax.servlet.ServletException: UntitledBean not bound
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:94)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

спасибо!
PM MAIL   Вверх
chief39
Дата 9.2.2007, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 11
Всего: 77



Цитата(sanches_ru @  9.2.2007,  19:12 Найти цитируемый пост)
InitialContext intCon = new InitialContext();
             Object ref = intCon.lookup("UntitledBean");


Цитата(sanches_ru @  9.2.2007,  19:12 Найти цитируемый пост)
<ejb-name>UntitledBean</ejb-name>

Допустим, совпадает...
Но ты ведь ищещь по JNDI!
Как на текущий момент последнего запуска этот бин был прописан в JNDI???

Добавлено @ 20:05 
То есть в

Цитата(sanches_ru @  6.2.2007,  13:43 Найти цитируемый пост)
написал jboss.xml таким образом:    
<?xml version="1.0" encoding="UTF-8"?>
<jboss>
  <enterprise-beans>
    <entity>
      <ejb-name>UntitledBean</ejb-name>
      <jndi-name>db</jndi-name>
       <local-jndi-name>UntitledBean1</local-jndi-name> 
    </entity>
  </enterprise-beans>
</jboss>


Так и остались db и UntitledBean1???


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
sanches_ru
Дата 9.2.2007, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.2.2007

Репутация: нет
Всего: нет



нет их больше нет оставил один ejb-jar.xml 
PM MAIL   Вверх
sanches_ru
Дата 11.2.2007, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.2.2007

Репутация: нет
Всего: нет



разобрался со всеми xml-ками.
ejb-jar.xml описывает структуру нашего бина, а также опредиляет его имя <ejb-name> .... </ejb-name>.
jboss.xml опредиляет имя бина в jndi 
<ejb-name>....</ejb-name>
      <jndi-name>...</jndi-name>
       <local-jndi-name>....</local-jndi-name>.

Cоздал новай проект, прописял все эти файлы!
>>>ejb-jar.xml<<<
Код

...
<entity>
            <description>jdbc:derby://localhost:1527/db [sa on SA]</description>
            <display-name>UntitledEB</display-name>
            <ejb-name>UnBean</ejb-name>
            <local-home>newpackage.UntitledLocalHome</local-home>
            <local>newpackage.UntitledLocal</local>
            <ejb-class>newpackage.UntitledBean</ejb-class>
            <persistence-type>Container</persistence-type>
...
...

>>> jboss.xml<<<<
Код

<jboss>
  <enterprise-beans>
    <entity>
      <ejb-name>UnBean</ejb-name>
      <jndi-name>UB</jndi-name>
       <local-jndi-name>UntitledBean1</local-jndi-name> 
    </entity>
  </enterprise-beans>
</jboss>


jboss все нормально деплоит под именем "UntitledBean1" видно в консоле. 

на сторнице jsp оброшяюсь по его имени все нормально 
Код

... 
InitialContext intCon = new InitialContext();
             Object ref = intCon.lookup("UntitledBean1");
...
 

А как только пытаюсь получить home интерфейс выбрасывает исключение:
Код

org.apache.jasper.JasperException: Exception in JSP: /index.jsp:46

43:         InitialContext intCon = new InitialContext();
44:         Object ref = intCon.lookup("UntitledBean1");
45:                  //UntitledLocalHome home = (UntitledLocalHome)(PortableRemoteObject.narrow(ref, UntitledLocalHome.class));
46:         UntitledLocalHome home = (UntitledLocalHome)ref;
47:                // javax.sql.DataSource dataSource = ( javax.sql.DataSource)ref;


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

root cause 
java.lang.ClassCastException: $Proxy73 cannot be cast to newpackage.UntitledLocalHome
    org.apache.jsp.index_jsp._jspService(index_jsp.java:82)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

большое спасибо за внимание!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.2341 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.