zoukankan      html  css  js  c++  java
  • 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(四)

    MyEclipse限时秒杀!活动火热开启中>>

    MyEclipse最新版下载

    四、运行XDoclet代码生成

    通常每次更改XDoclet EJB配置、应用程序服务器设置或修改任何EJB bean实现类的XDoclet注释后,都应执行XDoclet。

    现在是在firstejb项目上执行XDoclet并测试新的XDoclet设置的好机会,因为Trader EJB尚未使用新的XDoclet注释业务方法进行扩展。

    1. 右键单击firstejb,然后选择MyEclipse>Run XDoclet。

    2. 监视来自xdoclet-build脚本的异常输出消息的控制台视图。

    使用MyEclipse开发Java EE应用
    运行XDoclet操作的控制台输出

    在运行XDoclet之后,firstejb项目包括Trader和TraderHome接口的新版本以及ejb-jar.xml和jboss.xmldeployment描述符。

    使用MyEclipse开发Java EE应用
    XDoclet生成后EJB项目的内容

    注意:当您在第2节中创建TraderBean.java类时,将Java包名称指定为com.genuitec.trader.ejb,并强调包名应以.ejb结尾。这是因为标准EJB XDoclet包替换子任务可以创建以.interfaces结尾的相应Java包名称,并将生成的EJB和Home接口添加到其中。在这个例子中,创建了com.genuitec.trader.interfaces包,它包含了Trader EJB和TraderHome接口。

    五、创建Session EJB – Part 2

    在Part 1中,您看到了创建TraderBean类的过程。 在本节中,您将业务方法以及XDoclet注释添加到TraderBean类中,然后使用XDoclet来更新先前创建的Trader和TraderHome接口。

    创建初始的TraderBean.java类时,EJB创建的向导添加了一个示例业务方法,您可以将其用作添加自己业务方法的模式。注意这个方法包括javadoc tag @ejb.interface-method, 此自定义ejbdoclet标记将该方法标识为EJB接口方法实现的。当XDoclet在此类上运行时,Trader.java EJB接口类被修改为包含所有@ejb.interface-method注释的方法。

    TraderBean示例方法

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    /**
    * An example business method
    *
    * @ejb.interface-method view-type = "remote"
    *
    * @throws EJBException Thrown if method fails due to system-level error.
    */
    public void replaceWithRealBusinessMethod() throws EJBException {
    // rename and start putting your business logic here< BR > }
    *

    1. 双击TraderBean.java在编辑器中打开。

    2. 在最后一个括号前添加以下两种业务方法,然后按CTRL + S进行保存。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    /**
    * Buys shares of a stock for a named customer.
    *
    * @param customerName String Customer name
    * @param stockSymbol String Stock symbol
    * @param shares int Number of shares to buy
    * @return Number of shares purchased
    *
    * @ejb.interface-method
    */
     
    public int buy(String stockSymbol, int shares) {
    System.out.println("Buying "+shares+" shares of "+stockSymbol + ". Good move.");
     
    return shares;
    }
     
    /**
    * Sells shares of a stock for a named customer.
    *
    * @param customerName String Customer name
    * @param stockSymbol String Stock symbol
    * @param shares int Number of shares to buy
    * @return The number for shares sold
    *
    * @ejb.interface-method
    */
    public int sell(String stockSymbol, int shares) {
     
    System.out.println("Selling "+shares+" shares of "+stockSymbol);
     
    return shares;
    }

    3. 在firstejb项目上运行XDoclet来同步Trader和TraderHome类和部署描述符。

    4. 在com.genuitec.trader.interfaces包中双击Trader.java。 注意添加buy()和sell()业务方法。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    /*
      * Generated by XDoclet - Do not edit!
      */
     package com.genuitec.trader.interfaces;
     
     /**
      * Remote interface for Trader.
      * @author XDoclet
      */
     public interface Trader
    extends javax.ejb.EJBObject
     {
    /**
     * Buys shares of a stock for a named customer.
     * @param customerName String Customer name
     * @param stockSymbol String Stock symbol
     * @param shares int Number of shares to buy
     * @return Number of shares purchased
     */
    public int buy( java.lang.String stockSymbol,int shares )
       throws java.rmi.RemoteException;
     
    /**
     * Sells shares of a stock for a named customer.
     * @param customerName String Customer name
     * @param stockSymbol String Stock symbol
     * @param shares int Number of shares to buy
     * @return The number for shares sold
     */
    public int sell( java.lang.String stockSymbol,int shares )
       throws java.rmi.RemoteException;
     
     }

    更多资讯敬请访问MyEclipse中文网>>

  • 相关阅读:
    手机评測怎么看?
    【c++】简单的string类的几个基本函数
    免费软件怎样赚钱?
    【leetcode】Swap Nodes in Pairs (middle)
    【leetcode】Divide Two Integers (middle)☆
    【leetcode】4Sum(middle)
    【leetcode】Longest Common Prefix (easy)
    【leetcode】3Sum Closest(middle)
    【leetcode】Container With Most Water(middle)
    【leetcode】Palindrome Number (easy)
  • 原文地址:https://www.cnblogs.com/AABBbaby/p/7447176.html
Copyright © 2011-2022 走看看