小编Eas*_*her的帖子

wildfly:从配置目录中读取属性

我正在尝试从我的wildfly配置文件夹中的属性文件中读取部署特定信息.我试过这个:

@Singleton
@Startup
public class DeploymentConfiguration {

  protected Properties props;

  @PostConstruct
  public void readConfig() {

    props = new Properties();
    try {
      props.load(getClass().getClassLoader().getResourceAsStream("my.properties"));
    } catch (IOException e) {
      // ... whatever
    }
  }
Run Code Online (Sandbox Code Playgroud)

但显然这不起作用,因为配置文件夹不再在类路径中.现在我找不到一个简单的方法来做到这一点.我最喜欢的是这样的:

@InjectProperties("my.properties")
protected Properties props;
Run Code Online (Sandbox Code Playgroud)

到目前为止,我在网上找到的唯一解决方案是制作我自己的OSGi模块,但我相信必须有一种更简单的方法(没有OSGi!).谁能告诉我怎么样?

java jboss java-ee cdi wildfly

13
推荐指数
3
解决办法
5万
查看次数

Wildfly和Jackson:LinkageError

我正在尝试配置jboss wildfly 8以使用Jackson作为JSON.所以我补充道

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jackson-provider</artifactId>
    <version>3.0.6.Final</version>
    <type>jar</type>
</dependency>
Run Code Online (Sandbox Code Playgroud)

在我的耳朵项目.但在部署时我收到以下错误:

引起:java.lang.LinkageError:加载器约束违规:解析重写方法时"org.jboss.resteasy.plugins.providers.jackson.ResteasyJacksonProvider $ Proxy $ _ $$ WeldClientProxy.disable(Lorg/codehaus/jackson/map/Des) erializationConfig $特征; Z)Lorg/Codehaus的/杰克逊/ JAXRS/JacksonJsonProvider;" 当前类的类加载器(org/jboss/modules/ModuleClassLoader的实例),org/jboss/resteasy/plugins/providers/jackson/ResteasyJacksonPr ovider $ Proxy $ $$ WeldClientProxy及其超类加载器(org/jboss的实例)/modules/ModuleClassLoader),具有类型sy.plugins.providers.jackson.ResteasyJacksonProvider的不同Class对象$ Proxy $ $$ _ WeldClientProx y.disable(Lorg/codehaus/jackson/map/DeserializationConfig $ Feature; Z)Lorg/codehaus /杰克逊/ JAXRS/JacksonJsonProvider; 用于签名

版本3.0.6与Wildfly不兼容吗?我怎么知道哪个版本有效?我也试过2.3.7和1.1但总是一样的错误.

编辑:

我有一个带pojos的ejb模块.在这里,我有依赖:

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.2.3</version>
        <scope>provided</scope>
        <type>jar</type>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

所以看起来非常像杰克逊2给我.

在我耳边,我有以下依赖:

<dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jackson-provider</artifactId>
        <version>3.0.6.Final</version>
        <type>jar</type>
        <scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我现在需要resteasy-jackson2-provider吗?我现在需要jboss-deployment-structure.xml吗?

jboss jackson wildfly

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

@PostConstruct的执行顺序

我的JEE应用程序中有2个单例,我想在启动时初始化.像这样的东西:

@Singleton
@Startup
public class ServiceB {

    @EJB
    private ServiceA a;

    @PostConstruct
    private void init() {
        ....
    }
}
Run Code Online (Sandbox Code Playgroud)

ServiceB并不真正需要ServiceA,我只是添加了依赖项以确保在ServiceB的init()-Method启动之前完全初始化ServiceA(读取:@ PostConstruct-method finished).

但它不等待.ServiceB实际上在ServiceA之前启动.

有没有办法确保一个Bean的@ PostConstruct-方法等待另一个Bean的@PostConstruct方法完成?

我知道我可以删除ServiceA中的@PostConstruct注释并直接从ServiceB调用它

    @PostConstruct init() {
        a.init();
    }
Run Code Online (Sandbox Code Playgroud)

但我有没有ServiceB的部署.所以我不能依靠ServiceB来初始化ServiceA.ServiceA必须自己做.ServiceB必须等待ServiceA完成.

java dependency-injection java-ee-6

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

只有空格的长度?

我有一个小的angularjs应用程序:

<div ng-app="myApp">
  <div ng-controller="MyController">
    <input type="text" ng-model="value"/>
    <span>{{value.length}}</span>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

var app = angular.module('myApp', []);
app.controller('MyController', function($scope) {
    $scope.value = '  ';
});
Run Code Online (Sandbox Code Playgroud)

它可以在下面看到:JSFiddle Link

首先,它显示长度为2.当我删除输入字段中的一个空格时,它显示长度为0.我不明白这种行为.这是javascript还是angularjs问题?

如何获得输入的长度,包括前导和尾随空格?

javascript angularjs

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