小编aks*_*mit的帖子

在方法参数中初始化数组

在PHP中,您可以执行以下操作:

method(array("a", "b"));
Run Code Online (Sandbox Code Playgroud)

您是否可以在Java中将String数组初始化为方法调用中的参数,如tihs:

method(new String[] = {"a", "b"});
Run Code Online (Sandbox Code Playgroud)

谢谢!

java arrays string methods

27
推荐指数
3
解决办法
7万
查看次数

如何为HTTPS调用指定出站证书别名?

我正在调用一个需要客户端证书身份验证的Web服务.

如果我指定一个包含单个证书的Java密钥库(服务期望的客户端证书),那么一切正常.但是,如果我使用包含多个证书的密钥库,那么我似乎无法指定客户端应该选择哪个证书,客户端似乎会获取第一个可用证书(按字母顺序).

我尝试了以下属性,但没有预期的结果:

System.setProperty("com.sun.enterprise.security.httpsOutboundKeyAlias", "my-client-certificate alias");
Run Code Online (Sandbox Code Playgroud)

如何指定应使用哪个客户端证书别名?

java ssl https certificate keystore

17
推荐指数
3
解决办法
2万
查看次数

解析PHP文件时在浏览器中启用错误

我最近换成了MacBook,现在使用MAMP-stack进行本地开发.

在我早期的开发环境中,当我尝试通过Web浏览器访问PHP文件并发生错误时,我总能看到提供信息的错误报告.使用MAMP的默认安装似乎禁用了此功能,每当我遇到错误时我都看不到它的原因,我甚至看不到一行告知我发生了错误.

直到我开始在调试器中调试代码,我才能看到错误发生的位置.

知道如何打开错误报告吗?

我试过了:

error_reporting(E_ALL);
Run Code Online (Sandbox Code Playgroud)

虽然没有影响.

php mamp error-reporting

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

无法使用AM/PM标记解析DateTime-string

我想格式化的字符串如下所示:String datetime ="9/1/10 11:34:35 AM"

以下SimpleDateFormat模式的工作原理:

SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss");
Date d = sdf.parse(datetime);
System.out.println(d);

Output> [Wed Sep 01 11:34:35 CEST 2010]
Run Code Online (Sandbox Code Playgroud)

但是我也需要解析AM/PM标记,当我将其添加到模式时,我收到一个异常.

无效的模式:

SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss a");
Run Code Online (Sandbox Code Playgroud)

我也试过这个也有同样的例外:

SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss aa");
Run Code Online (Sandbox Code Playgroud)

例外:

java.text.ParseException: Unparseable date: "9/1/10 11:34:35 AM"
Run Code Online (Sandbox Code Playgroud)

我查看了http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html#text上的API,但似乎无法找到我做错的地方.

有什么建议?

java simpledateformat

15
推荐指数
2
解决办法
3万
查看次数

如何获取启动该过程的命令行

从Java,是否可以获得包含启动应用程序的所有参数的完整命令行?

System.getEnv()并且System.getProperties()似乎不包含值.

java command-line environment-variables

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

查询MongoDB以获取有序的不同值

我使用Morphia Java驱动程序查询包含以下形式的集合的MongoDB:

MyCollection {
   TypeA
   TypeB
}
Run Code Online (Sandbox Code Playgroud)

我想使用以下代码检索TypeB的所有不同值:

DBCollection myCol = getDatastore().getCollection(MyCollection.class);
List typeBs = myCol.distinct("TypeB");
Run Code Online (Sandbox Code Playgroud)

上面的代码按预期工作,但不同值列表当然没有排序.

我已经尝试了以下代码:

DBCollection myCol = getDatastore().getCollection(MyCollection.class);
DBObject orderBy = new BasicDBObject("$orderby", new BasicDBObject("TypeB", 1);
List typeBs = myCol.distinct("TypeB", orderBy);
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,列表是空的,我的假设在哪里错了?

UPDATE

通过使用CLI我发现以下查询返回了预期的结果:

> db.mycollection.find({$query : {}, $orderby : { TypeB : 1 }})
Run Code Online (Sandbox Code Playgroud)

所以我相应调整了我的代码:

DBCollection myCol = getDatastore().getCollection(MyCollection.class);

BasicDBObject ascending = new BasicDBObject("TypeB", 1);
BasicDBObject filter = new BasicDBObject();
filter.put("$query", new BasicDBObject());
filter.put("$orderby", ascending);

List typeBs = myCol.distinct("TypeB", filter);
Run Code Online (Sandbox Code Playgroud)

仍然结果包含0个条目!

真正让我困惑的是,如果我使用.find而不是.distinct,同样的查询是有效的:

DBCollection myCol = …
Run Code Online (Sandbox Code Playgroud)

java database mongodb nosql morphia

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

使用"crontab语法"进行EJB调度任务

我试图找出解决以下问题的可能性.

a)我想有一个使用"crontab语法"来安排任务的数据库表,结构将是这样的:

    |-Id-|---Crontab Syntax---|---------Task----------|
    | 1  | 30 *  *  *  *    * | MyClass.TaskA(args[]) |
    | 2  | 0  1  *  *  1-5  * | MyClass.TaskB(args[]) |
    |    |                    |                       |

上表将由外部应用程序随时修改.添加或删除的任务应立即影响调度程序.

b)调度程序本身应驻留在Java应用程序服务器上.它应该不断与数据库表中的活动计划任务同步.每当调度事件发生时,它应该触发/调用EJB,并将'Task'中的值作为参数.

我不是在寻找上述问题的答案.但是,在哪些框架中可以使用crontab解析的一些输入以及应该以何种方式部署表示调度程序的EJB.

提前致谢.

java schedule ejb crontab java-ee

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

用 JVM 参数覆盖日志级别(java.util.logging)?

是否可以通过在应用程序启动时传递 JVM 选项来覆盖/设置 java.util.logging.Logger 的日志级别?

java logging jvm-arguments java.util.logging

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

将jooq的获取/结果映射到特定的Record

当我当前使用Jooq查询时,我明确地将每个记录对象转换为预期的记录类型.

Result<Record> result = sql.select().from(Tables.COUNTRY).fetch();
for (Record r : result) {
    CountryRecord countryRecord = (CountryRecord) r;
    //Extract data from countryRecord
    countryRecord.getId();
}
Run Code Online (Sandbox Code Playgroud)

与Jooq一起,是否可能将结果直接转换为所需的记录类型?

如(这不编译):

Result<CountryRecord> countryRecords = (Result<CountryRecord>) sql.select().from(Tables.COUNTRY).fetch();
for (CountryRecord cr : countryRecords) {
    cr.getNamet();
    //etc...
}
Run Code Online (Sandbox Code Playgroud)

java casting jooq

6
推荐指数
2
解决办法
6264
查看次数

org.apache.cxf.BusException:找不到名称空间http://schemas.xmlsoap.org/soap/http/的DestinationFactory

在wsdl文件中,我有以下行:

当我部署webapplication(在JBOSS 5.1.0上)并尝试访问wsdl时,我得到以下异常:

org.apache.cxf.BusException: No DestinationFactory was found for the namespace http://schemas.xmlsoap.org/soap/http/.
 org.apache.cxf.transport.DestinationFactoryManagerImpl.getDestinationFactory(DestinationFactoryManagerImpl.java:115)
 org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:85)
 org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
 org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:118)
 org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
 org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:346)
 org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:259)
 org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:209)
 org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:404)
 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 java.lang.reflect.Method.invoke(Method.java:597)
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1413)
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1374)
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
 java.security.AccessController.doPrivileged(Native Method)
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
 org.jboss.wsf.stack.cxf.CXFServletExt.loadAdditionalConfigExt(CXFServletExt.java:124)
 org.jboss.wsf.stack.cxf.CXFServletExt.loadBus(CXFServletExt.java:101)
 org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:78)
 org.jboss.wsf.stack.cxf.CXFServletExt.init(CXFServletExt.java:73)
 org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
 org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
 org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
 org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 se.marakanda.jboss.LoginContextValve.invoke(LoginContextValve.java:44)
 org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 java.lang.Thread.run(Thread.java:619)
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?

jboss cxf jbossws jboss5.x

4
推荐指数
2
解决办法
6204
查看次数

通过Jms ID选择消息的语法

根据消息的相应JMS ID选择消息的正确语法是什么?

目前,我使用:

String selector = "JMSMessageID='ID:305:1:5:1:1'";
messageConsumer = session.createConsumer(getRetryQueue(), selector);
Run Code Online (Sandbox Code Playgroud)

上面的语法可以在模拟代理中进行测试。但是,对于ActiveMQ,不会轮询消息。

原始代码:

@Override
public Message readMessageFromRetryQueueByJmsId(String jmsId) throws QueueingException {
    Connection connection = null;
    Session session = null;
    MessageConsumer messageConsumer = null;
    Message message = null;
    try {
        connection = getConnectionFactory().createConnection();
        session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        messageConsumer = session.createConsumer(getRetryQueue(), "JMSMessageID='"+jmsId+"'");
        message = messageConsumer.receiveNoWait();
    } catch (JMSException e) {
        throw new QueueingException("Failed to read message from MessageConsumer.");
    } finally {
        try { messageConsumer.close(); } catch (Exception e) { /* NOP */ …
Run Code Online (Sandbox Code Playgroud)

java activemq-classic jms message-queue

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

Struts 2 URL不会替换正确的值

我正在关注Struts 2教程 - 使用Struts 2标签

到目前为止,所有内容都按预期工作,直到我将以下内容添加到index.jsp:

<s:url action="hello" var="helloLink">
    <s:param name="userName">Bruce Phillips</s:param>
</s:url>
<p><a href="${helloLink}">Hello Bruce Phillips</a></p>
Run Code Online (Sandbox Code Playgroud)

预期的结果是锚链接(Hello Bruce Phillips)应该用hello.action的相应URL替换参数userName encoded,但不会发生替换,这就是元素呈现的方式:

<p>
    <a href="${helloLink}">Hello Bruce Phillips</a>
</p>
Run Code Online (Sandbox Code Playgroud)

我的语法有什么问题吗?

环境:

  • 在GlassFish 2.1和3.1.1中都尝试过同样意想不到的结果.
  • Struts 2.2.3.1
  • Mac(狮子)与java6 jdk
  • 标签定义:<%@ taglib prefix ="s"uri ="/ struts-tags"%>

java jsp struts struts2

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