小编Kal*_*ian的帖子

如何使用Maven中的源代码生成JAR

如何使用Maven 2.2生成包含源代码的JAR?

java maven-2 maven

14
推荐指数
3
解决办法
1万
查看次数

使用本地EJB,在同一个Container但不同的耳朵

我正在试图在同一个Glassfish中使用本地EJB,但不同的耳朵.但Glassfish无法找到本地EJB或无法使用

我读到了这一点: 根据JavaEE教程,@ Local bean的客户端必须在与它访问的企业bean相同的JVM中运行.

在第一只耳朵中,我在jar中有本地接口

@Local
public interface MyLocalBean {
  int getNumber(int num3);
} 
Run Code Online (Sandbox Code Playgroud)

在另一个jar中,我有实现

@Stateless
@LocalBean
public class MyLocalBeanImpl implements MyLocalBean,Serializable{
     public MyLocalBeanImpl() {}
     public int getNumber(int num3){......
Run Code Online (Sandbox Code Playgroud)

在第二只耳朵中,在同一条Glassfish中

我在jar里面有本地接口

@Local
public interface MyLocalBean {
int getNumber(int num3);
 } 
Run Code Online (Sandbox Code Playgroud)

在另一个罐子里,我有消费者

@Stateless
@LocalBean
public class BeanConsumer{
@EJB(name="MyLocalBeanImpl")
private MyLocalBean beanlocal;
Run Code Online (Sandbox Code Playgroud)

使用@EJB和(name ="MyLocalBeanImpl")参数时,错误是:

Cannot resolve reference Local ejb-ref name=MyLocalBeanImpl,Local 3.x 
interface =my.package.MyLocalBean,ejb-link=null,lookup=,
mappedName=,jndi-name=,refType=Session|#]
Run Code Online (Sandbox Code Playgroud)

使用@EJB和(name ="my.package.MyLocalBeanImpl")参数,错误是:

Cannot resolve reference Local ejb-ref name=my.package.MyLocalBeanImpl,
Local 3.x interface =my.package.MyLocalBean,ejb-link=null,
lookup=,mappedName=,jndi-name=,refType=Session|#]***
Run Code Online (Sandbox Code Playgroud)

我也尝试使用mappedName

    @Stateless(name="MyLocalBeanImpl",mappedName …
Run Code Online (Sandbox Code Playgroud)

java ejb java-ee ejb-3.0 glassfish-3

7
推荐指数
1
解决办法
2万
查看次数

Spring Jndi Context和PropertyPlaceholderConfigurer

使用Spring,我想在Webspehere的上下文中读取一个变量.

使用Websphere在Java中读取环境变量

在web.xml中定义数据....

<env-entry>
   <env-entry-name>varName</env-entry-name>
   <env-entry-value>56</env-entry-value>
   <env-entry-type>java.lang.String</env-entry-type>
</env-entry>
Run Code Online (Sandbox Code Playgroud)

用java看看

Context envEntryContext = (Context) new InitialContext().lookup("java:comp/env");
String mydata = (String)envEntryContext.lookup(“varName”);
Run Code Online (Sandbox Code Playgroud)

但我想把我的common.xml中的数据拿出来

<bean id="propertyPlaceholderConfigurer"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>/WEB-INF/context/servweb.properties</value>
        </list>
    </property>
    <property name="ignoreUnresolvablePlaceholders">
        <value>true</value>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

也许有类似的东西

 <constructor-arg>
     <jee:jndi-lookup jndi-name="java:comp/env" default-value="data" /> 
  </constructor-arg>
Run Code Online (Sandbox Code Playgroud)

但是用上下文做同样的事情

Context envEntryContext = (Context) new InitialContext().lookup("java:comp/env");
String mydata = (String)envEntryContext.lookup(“varName”);
Run Code Online (Sandbox Code Playgroud)

也许是这样的:

 <constructor-arg>
    <jee:jndi-lookup  jndi-name="java:comp/env">
      <jee:environment>
          varName=default
     </jee:environment>
  </jee:jndi-lookup>
Run Code Online (Sandbox Code Playgroud)

谁知道正确的方法?

提前致谢

websphere spring jndi environment-variables

6
推荐指数
1
解决办法
1万
查看次数