小编Nul*_*ion的帖子

使用带有HttpComponentsClientHttpRequestFactory和RestTemplate的Proxy

有人可以指导我如何配置HttpComponentsClientHttpRequestFactory使用代理服务器.

我见过的所有例子都在使用SimpleClientHttpRequestFactory.

spring resttemplate apache-httpcomponents proxyselector

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

Oracle 19 的休眠方言

我们的一个数据库升级到 Oracle 19c,现在我的应用程序无法连接到数据库

我收到以下错误。

HHH000400: Using dialect: org.hibernate.dialect.Oracle12cDialect
HHH000342: Could not obtain connection to query metadata : Unable to determine Dialect to use [name=Oracle, majorVersion=19]; user must register resolver or explicitly set 'hibernate.dialect'
Run Code Online (Sandbox Code Playgroud)

我搜索了 oracle 19 的方言,但找不到任何 .

oracle 19 是否有可用的方言?

java oracle hibernate spring-data-jpa oracle19c

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

如何创建Maven构建配置文件以有条件地复制文件?

我是maven的新手,我正在尝试使用配置文件创建pom.xml来为不同的环境构建war文件

所以我创建了构建目标

<build>
<finalName>myacct_okc</finalName>
<resources>
  <resource>
    <directory>src/main/java</directory>
    <excludes>
      <exclude>**/*.java</exclude>
    </excludes>
  </resource>
  <resource>
    <directory>src/main/resources</directory>
  </resource>
  <resource>
    <directory>config/${environment}</directory>
  </resource>
 </resources>
</build>
Run Code Online (Sandbox Code Playgroud)

然后为每个环境创建配置文件

<profiles>
 <profile>
  <id>local</id>
  <activation>
    <activeByDefault>false</activeByDefault>
  </activation>
  <properties>
    <environment>local</environment>
  </properties>
</profile>
<profile>
  <id>jboss</id>
  <properties>
    <environment>jboss</environment>
  </properties>
</profile>
<profile>
  <id>dev</id>
  <properties>
    <environment>dev</environment>
  </properties>
</profile>
Run Code Online (Sandbox Code Playgroud)

我为每个env创建一个配置文件夹

project root
|-- src
|   |-- main
|   |   |-- java
|   |   |-- resources
|   |   |   |-- config.xml
|   |   |   +-- config.properties
|   |   |-- webapp
|   |   |   |-- META-INF
|   |   | …
Run Code Online (Sandbox Code Playgroud)

java eclipse build maven-3 maven

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

如何使用mybatis直接从java代码中执行查询?

我需要执行在运行时由java代码生成的查询(不是静态方法).我已经知道如何使用注释和静态方法或使用xml mapper来构建动态查询,但它不适合我的情况.

有没有办法直接从java代码执行查询?

java sql mybatis

5
推荐指数
2
解决办法
5544
查看次数

在自定义拦截器中捕获 SOAP 错误错误 (Soap12FaultOutInterceptor)

我编写了一个自定义 CXF 拦截器来将所有 SOAP 请求和响应记录到数据库中,并且它似乎在正面测试用例和服务器错误的情况下工作正常。

但是当发生 SOAP 错误时,它只是忽略了我的拦截器并且没有记录任何内容。

自定义 CXF 拦截器。

public class DbLogOutInterceptor extends AbstractSoapInterceptor {

 public void handleMessage(SoapMessage message) {
    logger.info("Handling outbound request");

    String transaction = MDC.get(mdcKey);
    logger.info("OutBound Transaction ID : {} ", transaction);

     //code to log the SOAP message in database
    .......

     }
   }
Run Code Online (Sandbox Code Playgroud)

我没有看到此方法的日志语句,而是看到了

 11:56:34,102 INFO  [Soap12FaultOutInterceptor] class org.apache.cxf.binding.soap.interceptor.Soap12FaultOutInterceptor$Soap12FaultOutInterceptor Internalapplication/soap+xml
 11:56:34,103 INFO  [EligibilityInfo] Outbound Message
 ---------------------------
 ID: 2
 Response-Code: 500
 Encoding: UTF-8
 Content-Type: application/soap+xml
 Headers: {}
 Payload :  
Run Code Online (Sandbox Code Playgroud)

为了在我的自定义拦截器中捕获 SOAP 错误错误,我必须做什么。

java soap cxf soapfault interceptor

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

RestTemplate + ConnectionPoolTimeoutException:等待来自池的连接超时

在应用程序没有任何负载的情况下,我在生产过程中突然收到此错误.

当我的代码尝试使用spring rest模板发送PUT消息时,问题就出现了

这是我如何初始化restTemplate的代码

private static final RestTemplate restTemplate = new RestTemplate(new HttpComponentsClientHttpRequestFactory());
{

    List<HttpMessageConverter<?>> messageConverters = new ArrayList<HttpMessageConverter<?>>();
    Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
    marshaller.setClassesToBeBound(PaymentSession.class);
    MarshallingHttpMessageConverter marshallingHttpMessageConverter = new MarshallingHttpMessageConverter(marshaller, marshaller);
    marshallingHttpMessageConverter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_XML, MediaType.TEXT_HTML));
    messageConverters.add(marshallingHttpMessageConverter);
    restTemplate.setMessageConverters(messageConverters);
}
Run Code Online (Sandbox Code Playgroud)

致电PUT

try {
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_XML);
    HttpEntity<PaymentSession> httpEntity = new HttpEntity<PaymentSession>(session, headers);

    restTemplate.exchange(baseUrl+"/v1/psps", HttpMethod.PUT, httpEntity, PaymentSession.class);

}catch(HttpClientErrorException e){
        logger.error("Exception..!!",e)
}
Run Code Online (Sandbox Code Playgroud)

异常堆栈跟踪

Caused by: org.apache.http.conn.ConnectionPoolTimeoutException: Timeout waiting for connection from pool
at org.apache.http.impl.conn.PoolingClientConnectionManager.leaseConnection(PoolingClientConnectionManager.java:232)
at org.apache.http.impl.conn.PoolingClientConnectionManager$1.getConnection(PoolingClientConnectionManager.java:199)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:456)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)
at …
Run Code Online (Sandbox Code Playgroud)

java spring resttemplate apache-httpclient-4.x

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