私は何をしようとしていますか?
- テスト用に設定serverKey
しvalidity
、アプリケーション用に貨物を TokenUtils に注入したいので、これらの値はアプリケーションのロード時に使用可能です
私が試したことは何ですか?
私はJBoss
コンテナとして使用しており、関連するコードは
@Stateless
public class TokenUtils {
public static final String AUTH_TOKEN = "X-BB-AUTH";
public static final String BB_AUTH_PRIVATE_KEY = "auth.key";
public static final String BB_AUTH_VALIDITY = "auth.validity";
private static final Pattern PATTERN = Pattern.compile(":");
private String serverPrivateKey;
private long validity;
private static final Logger LOGGER = LoggerFactory.getLogger(TokenUtils.class);
@SuppressWarnings("UnusedDeclaration")
public TokenUtils() {
}
public TokenUtils(@Nonnull @Configuration(BB_AUTH_PRIVATE_KEY) final String serverPrivateKey,
@Configuration(BB_AUTH_VALIDITY) final long validity) {
this.serverPrivateKey = serverPrivateKey;
this.validity = validity;
LOGGER.info("serverPrivateKey:" + serverPrivateKey);
LOGGER.info("validity:" + validity);
}
}
また、作成さMETA-INF/beans.xml
れsrc/main/resources
た同じパッケージにあるTokenUtils
ので、Beanのインスタンス化は問題ではないと思います
カーゴが Bean をインスタンス化するときに値を注入したいので、値を次のように設定しますpom.xml
。
<container>
<systemProperties>
<auth.key>secure</auth.key>
<auth.validity>720000</auth.validity>
</systemProperties>
</container>
貨物を開始すると、次のことが起こっていることがわかります
INFO] [talledLocalContainer] 06:07:08,068 INFO [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-1) JNDI bindings for session bean named TokenUtils in deployment unit deployment "market.war" are as follows:
[INFO] [talledLocalContainer]
[INFO] [talledLocalContainer] java:global/market/TokenUtils!com.org.proj.service.authentication.TokenUtils
[INFO] [talledLocalContainer] java:app/market/TokenUtils!com.com.proj.service.authentication.TokenUtils
[INFO] [talledLocalContainer] java:module/TokenUtils!com.com.proj.service.authentication.TokenUtils
[INFO] [talledLocalContainer] java:global/market/TokenUtils
[INFO] [talledLocalContainer] java:app/market/TokenUtils
[INFO] [talledLocalContainer] java:module/TokenUtils
問題?
- しかし、値はserverPrivateKey=null
ありますvalidity=0
- さらに、Bean のインスタンス化中にLOGGER.info
値を確認できるはずですが、ログでそれらを見つけることができません
私が間違っていることは何ですか?