有人可以指导我如何配置HttpComponentsClientHttpRequestFactory使用代理服务器.
我见过的所有例子都在使用SimpleClientHttpRequestFactory.
我们的一个数据库升级到 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 是否有可用的方言?
我是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代码生成的查询(不是静态方法).我已经知道如何使用注释和静态方法或使用xml mapper来构建动态查询,但它不适合我的情况.
有没有办法直接从java代码执行查询?
我编写了一个自定义 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 错误错误,我必须做什么。
在应用程序没有任何负载的情况下,我在生产过程中突然收到此错误.
当我的代码尝试使用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)