<LearnWLS> A shell script to create a simple Session EJB

本文介绍了一个用于快速创建Session EJB的Shell脚本。该脚本能够自动生成必要的文件结构,并允许用户通过参数指定模块名和EJB名称。演示了如何使用此脚本在WebLogic 12c上构建、打包并部署一个简单的Session EJB实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

As learning EJB, usually I want to create new case from a old one, it is boring because there are always some variables name need to change, so I write a script to avoid such a thing.

The script named crtsess.sh, it doesn't depend on any old case, just creates a simple Session EJB directly. it has a welcome() method,which returning a string, the module name and EJB name can be specified as arguments of script. I test it on Weblogic 12c:


$ crtsessb.sh   # show usage

Usage: crtsessb.sh moduleName ejbName


$ crtsessb.sh testejb TestEjb   # this will create a new directory "testejb"

$ find testejb -type f

testejb/build.xml

testejb/runclt.sh

testejb/classes/com/examples/TestEjbClient.java

testejb/classes/com/examples/TestEjb.java

testejb/classes/com/examples/TestEjbBean.java


$ . ./setDomainEnv.sh    # set Weblogic environment

$ cd testejb

$ ant        # build and package module

$ ls *.jar

testejb.jar


Now we can start Weblogic and deploy testejb.tar on it, if it is OK:


$ runclt.sh    # test EJB from a remote client

TestEjbsays: Welcome to EJB TestEjb!


Though this case looks useless, hopefully it is easy to  add some business logic in it.


 

#!/bin/sh

createDesc()
{
cat > $module/ejb-jar.xml 2> /dev/null <

    
    
        
            $ejbname
            
            com.examples.$ejbname
            com.examples.${ejbname}Bean
            Stateless
        
    

!

cat > $module/weblogic-ejb-jar.xml 2> /dev/null <  



   
  
    $ejbname
    java:global/$module/$ejbname
  

!

}

createBuild()
{
cat > $module/build.xml 2> /dev/null <
    
        Build file to compile the Session EJB example $ejbname
    

    

    
        
        
    

    
    

    
        
    

    
        
             
             
        
    


!

}

createRun()
{
cat > $module/runclt.sh 2> /dev/null < $srcdir/$ejbname.java	2> /dev/null < $srcdir/${ejbname}Bean.java 2> /dev/null < $srcdir/${ejbname}Client.java 2> /dev/null < 0)
            url = argv[0];

        System.out.println("$ejbname says: " + returnMessage());
    }

    public static String returnMessage() {
        try {
            Properties p = new Properties();
            p.put(Context.INITIAL_CONTEXT_FACTORY,
                "weblogic.jndi.WLInitialContextFactory");
            p.put(Context.PROVIDER_URL, url);
            InitialContext ic = new InitialContext(p);

            $ejbname ejb = 
                ($ejbname)ic.lookup("$ejbname#com.examples.$ejbname");
    		return ejb.welcome();

        } catch(Exception e) {
            e.printStackTrace();
        }

    	return null;
    }
}
!

}



#### main ####

if [ $# -lt 2 ]
then
	echo "Usage: $0 moduleName ejbName"
	exit 1
fi

module=$1
ejbname=$2

srcdir=$module/classes/com/examples
mkdir -p $srcdir

# createDesc
createBuild
createRun
createCode


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值