我正在将我的Web应用程序移动到另一台服务器,在接下来的几天内,我将刷新DNS以指向新的IP位置.
不幸的是,一些浏览器和SO保留了一个DNS缓存,使用户可以指向旧的IP位置.有些用户是新手,他们不会手动刷新DNS缓存,我知道在这次更改后的最初几周我们会失去很多.
反正是否强制这个DNS缓存刷新,所以它对我们的最终用户是透明的?
我有一个Prime Faces p:dialog,在打开时插入新组件时会调整大小('show'状态).然而它的位置不会改变,它的大小从左下角到页面底部都在增加.
每次动态渲染新组件时我都需要重新定位它.是否有任何JavaScript函数可以调用它的小部件来重新定位?
我正在使用PrimeFaces 3.5和Mojarra 2.1.13.
我在构建路径中尝试发布.war package包含Web Start应用程序时遇到了很多麻烦.commons-configuration-1.3.jar(com.sun.deploy.net.JARSigningException)
我已经尝试清理javaws缓存,重新安装应用程序,甚至重新安装java (1.6.0_24).
NetBeans IDE 6.8 (Build 200912041610)创建JNLP应用程序时,这是我的一小段输出:
Warning:
The signer certificate will expire within six months.
Signing JAR: D:\Java\workspace\OTP\DeskOTP\atual\build\cluster\modules\ext\commons-configuration-1.3.jar to D:\Java\workspace\OTP\DeskOTP\atual\build\jnlp\app\br-com-petrobras-ep-gedig-gedigdesktoplibrary\ext-commons-configuration-1.3.jar as jnlp
Run Code Online (Sandbox Code Playgroud)
然而,当我试图跑步时,我得到了一个JARSigningException这个罐子.
所以,我决定解决此问题,禁用此验证.我相信我可以决定并告诉jvm不要核实我的罐子(我的责任).
无论如何要告诉jvm或javaws永远不要验证未签名jars?
我在我的应用程序(Java 6/Tomcat 7.0.27/JSF:Mojarra 2.1.13)文件中有这个logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="LB_STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{dd/MM/yyyy HH:mm:ss.SSS} %-5level {%thread} [%logger{40}] : %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<appender name="LB_AOUB_FILE" class="ch.qos.logback.core.FileAppender">
<file>${catalina.base}/logs/lb_aoub.log</file>
<append>true</append>
<encoder>
<charset>UTF-8</charset>
<pattern>%d{dd/MM/yyyy HH:mm:ss.SSS} %-5level {%thread} [%logger] : %msg%n</pattern>
</encoder>
<rollingPolicy class="org.apache.juli.logging.ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${catalina.base}/logs/lb_aoub-%d{yyyyMMdd}-%i.log.zip</fileNamePattern>
<maxHistory>60<!-- days -->
</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="org.apache.juli.logging.ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>2MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<logger name="br.com.aoub" level="DEBUG">
<appender-ref ref="LB_STDOUT" />
<appender-ref ref="LB_AOUB_FILE" />
</logger>
</configuration>
Run Code Online (Sandbox Code Playgroud)
错误,警告和信息正在发挥作用.但是应用程序中的调试级别日志尚未在控制台中写入,也未保存在文件中.
如果我添加这个:
<root level="debug">
<appender-ref ref="LB_STDOUT" />
</root>
Run Code Online (Sandbox Code Playgroud)
编写的调试消息是控制台,但我想只设置br.com.aoub记录器来调试,而不是整个应用程序.
我错过了什么吗?
有没有办法<p:commandButton>用Javascript 更改值?
我试图设置一个widgetVar,<p:commandButton>但它没有任何setValue()功能或类似的东西.由于我的XHTML的其他特定问题,我无法将其绑定到托管bean.
将邮件会话(javax.mail.Session)存储在单例中是一种很好的做法吗?我和我的团队决定在Singleton类中的一个静态变量中保留一个邮件会话.
所以,在私有构造函数中,我们这样做:
try {
Properties props = new Properties();
props.put("mail.transport.protocol", config.getMailTransportProtocol());
props.put("mail.smtp.starttls.enable", config.getMailStarttlsEnable());
props.put("mail.smtp.host", config.getMailHost());
props.put("mail.smtp.auth", config.getMailAuth());
props.put("mail.smtp.user", config.getMailFrom());
props.put("mail.debug", config.getMailDebug());
props.put("mail.smtp.port", config.getMailPort());
props.put("mail.smtp.socketFactory.port", config.getMailPort());
props.put("mail.smtp.socketFactory.class", config.getMailSocketFactoryClass());
props.put("mail.smtp.socketFactory.fallback", config.getMailSocketFactoryFallback());
props.put("mail.pop3.host", config.getMailPop3Host());
props.put("mail.store.protocol", config.getMailStoreProtocol());
SimpleAuth auth = new SimpleAuth(config.getMailUser(), config.getMailPass());
MailSession.session = Session.getDefaultInstance(props, auth);
session.setDebug(config.getMailDebug());
} catch (Throwable ex) {
System.err.println("Initial MailSession creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
Run Code Online (Sandbox Code Playgroud)
但我担心最好是保持这样,还是为每封电子邮件打开和关闭一个会话.
java ×2
jsf ×2
jsf-2 ×2
primefaces ×2
caching ×1
dialog ×1
dns ×1
jakarta-mail ×1
jar ×1
javascript ×1
jvm ×1
logback ×1
singleton ×1