小编Ric*_*iti的帖子

我可以在Oracle 10g数据库上使用Oracle JDBC 12.1.0.1(适用于12c数据库)吗?

只是一个简单的问题(我猜).Oracle 为Oracle Database 12c发布了一个新的JDBC驱动程序,包括Java 7 JDBC驱动程序(ojdbc7 - 12.1.0.1).在这里,我们一直在使用Oracle 10g数据库和ojdbc6 for Oracle 11g(11.2.0.4),没有任何问题.现在,我的问题.

如果我升级我的应用程序服务器以使用ojdbc7 for Oracle 12c,它是否存在风险?Oracle是否保持其驱动程序与先前版本的兼容性?

java oracle jdbc oracle10g oracle12c

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

关于使用Oracle 10g进行后续锁定的Hibernate警告

我正在使用Hibernate 4.3.0.Final/JPA 2.1,Hibernate Search 4.5.0.Final在WildFly 8.0.0.Final上运行.我的应用程序工作正常,但我正在创建索引时收到此休眠警告.

WARN org.hibernate.loader.Loader - HHH000444:遇到锁定请求,但是数据库喜欢锁定的方言报告是在单独的选择中完成的(后续锁定); 初始查询执行后,结果将被锁定

这是创建索引的方法:

public void createIndex() throws DAOException {
    FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(this.entityManager);

    try {
        fullTextEntityManager.createIndexer(Colaborador.class)
            .purgeAllOnStart(Boolean.TRUE)
            .optimizeOnFinish(Boolean.TRUE)
            .startAndWait();
        }
        catch (InterruptedException e) {
            logger.error("Error creating index", e);
            throw new DAOException(e);
    }
}
Run Code Online (Sandbox Code Playgroud)

我做了一些搜索,我发现了一个"解决方案",或者更好的说,是一种抑制警告的方法.但是,我不知道这是否是最佳解决方案.解决方案建议扩展org.hibernate.dialect.Oracle10gDialect和覆盖public boolean useFollowOnLocking()返回的方法false.

其他重要的事情:这只发生在Hibernate版本4.2.0.Final之后.在此版本之前,没有useFollowOnLocking()方法.

新方言:

import org.hibernate.dialect.Oracle10gDialect;

public class MyOracle10gDialect extends Oracle10gDialect {

    @Override
    public boolean useFollowOnLocking() {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我发现这个解决方案在这里这里 …

java oracle warnings hibernate hibernate-search

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

如何在Laravel 5的视图中使用我的自定义类

我有一个自定义类,我必须在我的视图中使用.但我是怎么做到的?

在Laravel 4.2中,我只需运行composer.phar dump-autoload并添加start/local.php如下:

ClassLoader::addDirectories(array(
    app_path().'/commands',
    app_path().'/controllers',
    app_path().'/models',
    app_path().'/database/seeds',
    app_path().'/helpers/MyClass',
));
Run Code Online (Sandbox Code Playgroud)

最后,在我看来,我只是使用我的课程:MyClass::myMethod().再次,我如何使用Laravel 5做到这一点?

谢谢

php laravel laravel-5

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

如何使用Apache Camel Netty4以异步模式通过已建立的TCP连接发回响应?

我正在消费者模式下使用Netty4组件(http://camel.apache.org/netty4.html)构建一个具有Apache Camel路由的微服务.所以,在我的微服务中,我正在构建的这条路由将通过TCP连接接收消息.为此,我这样做了:

@Override
public void configure() throws Exception {
 this.from("netty4:tcp://localhost:7000?textline=true&encoding=utf8")
   .process(new Processor() {
      @Override
      public void process(final Exchange exchange) throws Exception {
        log.info("[Processor] - Incoming Message -> {}", exchange.getIn().getBody(String.class));
      }
   }).to("bean:messageService");
}
Run Code Online (Sandbox Code Playgroud)

好吧,我正常收到这些消息.要测试,我使用telnet:

$ telnet localhost 7000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
TheMessage
Run Code Online (Sandbox Code Playgroud)

问题是当我想将消息发送回在该路由中建立的同一TCP通道时.在同步模式下,我可以使用Exchange对象轻松完成.但是,在异步模式下,我不知道如何将消息发送回生产者.

接收并应发送消息的Spring Service是:

@Service
public class MessageService {

  private static final Logger log = LoggerFactory.getLogger(MessageService.class);

  private List<String> messageStore = new LinkedList<>();

  public void sendToTCP(final String message) {
    log.info("[Service] …
Run Code Online (Sandbox Code Playgroud)

java apache-camel netty spring-boot

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

NullPointerException在Tomcat 8.0.0 RC5上部署Spring/MyFaces Application

我开发了一个新的应用程序,它在Tomcat 7上运行完美!但我正在尝试在Tomcat 8上部署相同的WAR,而我正在使用它NullPointerException.为了开发这个应用程序,我使用了以下框架和库:

  • Maven 3;
  • JPA 2/Hibernate 4.2.6.Final;
  • 春天3.2;
  • 春季安全3.2.RC;
  • MyFaces 2.1.12;
  • Primefaces 4.0;

在Tomcat 7.0.42上部署时没有发生错误.运行很好.但是,当我在Tomcat 8.0.0 RC5上部署相同的WAR时,我遇到了这个异常:

30-Oct-2013 16:00:27.659 INFO [http-nio-8080-exec-2] org.apache.catalina.core.ApplicationContext.log No state saving method defined, assuming default server state saving
30-Oct-2013 16:00:29.499 SEVERE [http-nio-8080-exec-3] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [Faces Servlet] in context with path [/contacel] threw exception [null] with root cause
 java.lang.NullPointerException
    at org.apache.myfaces.view.facelets.tag.TagAttributeImpl.getBoolean(TagAttributeImpl.java:143)
    at org.apache.myfaces.view.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:105)
    at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:49)
    at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:58)
    at org.apache.myfaces.view.facelets.tag.jsf.ComponentTagHandlerDelegate.apply(ComponentTagHandlerDelegate.java:310)
    at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:53)
    at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:49)
    at org.apache.myfaces.view.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:57)
    at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:49)
    at org.apache.myfaces.view.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:48)
    at …
Run Code Online (Sandbox Code Playgroud)

spring spring-security tomcat8

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

Oracle 错误:ORA-01839:指定月份的日期无效

好的,首先,我已经检查了许多有关此错误的网站,但不幸的是,没有一个对我有帮助。我有以下简单的查询:

select * from (   
       select to_date(cal.year || cal.month || cal.day, 'yyyymmdd') as datew, 
              cal.daytype as type
       from vw_calendar cal)
where datew > sysdate;
Run Code Online (Sandbox Code Playgroud)

当我尝试执行整个查询时,出现此错误:

ORA-01839: 日期对于指定的月份无效

如果我只执行查询:

select to_date(cal.year || cal.month || cal.day, 'yyyymmdd') as datew, 
       cal.daytype as type
from vw_calendar cal;
Run Code Online (Sandbox Code Playgroud)

它工作得很好。如果要查看查询结果:http : //pastebin.com/PV95g3ac

我检查了一个月中的第 31 天或闰年,一切似乎都正确。我不知道该怎么办了。我的数据库是 Oracle 10g,我尝试在 SQL Developer 和 PL/SQL Developer 上执行查询。两个 IDE 上的错误相同。

sql oracle oracle10g

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

使用多个关键字进行Hibernate Search的索引搜索

当我尝试仅使用一个关键字进行搜索时,使用Hibernate Search 4.5.0.Final的应用程序运行正常。但是,如果我尝试使用两个关键字,那么Hibernate Search不会使用第二个关键字,HS只会考虑第一个。

例如,如果我尝试搜索“ James”,则搜索工作正常,并且应用程序返回索引中包含的所有“ James”。但是,如果我尝试搜索“ James Hetfield”,结果还是所有“ James”,而不是名称为“ James Hetfield”的唯一结果。我需要将“ James Hetfield”视为“ James AND Hetfield”

编辑:我犯了一个错误。搜索使用两个关键字,但是使用“ OR”而不是“ AND”

我的代码:

public List<Person> search(String keywords) throws DAOException {
    try {
        FullTextEntityManager fullTextEm = Search.getFullTextEntityManager(this.entityManager);
        QueryBuilder qb = fullTextEm.getSearchFactory().buildQueryBuilder().forEntity(Person.class).get();
        Query query = qb.keyword().onFields("name", "email", "username", "phone").matching(keywords).createQuery();
        FullTextQuery fullTextQuery = fullTextEm.createFullTextQuery(query);
        fullTextQuery.setProjection("name", "email", "username", "phone");
        Sort sortField = new Sort(new SortField("name_order", SortField.STRING));
        fullTextQuery.setSort(sortField);
        return fullTextQuery.getResultList();
    }
    catch (Exception e) {
        logger.error("Error searching index: " + …
Run Code Online (Sandbox Code Playgroud)

java lucene hibernate-search

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

我之前从未见过这个错误:Cookie名称"ctx:1420m06d05"是一个保留令牌

我正在WildFly 8.1.0上运行一个Web应用程序,显然我的应用程序工作正常.但是,查看日志文件时我发现了一个奇怪的异常.我以前从未见过这个例外.

我使用Apache 2.4作为反向代理.此反向代理使用AJP端口完成.

javax.servlet.ServletException:Cookie名称"ctx:1420m06d05"是保留令牌

2014-07-07 11:10:57,512 ERROR [io.undertow.request] (default task-23) UT005023: Exception handling request to /app/emp/index.jspa: javax.servlet.ServletException: Cookie name "ctx:1420m06d05" is a reserved token
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659) [jboss-jsf-api_2.2_spec-2.2.6.jar:2.2.6]
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
    at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:113) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
    at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:51) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:61) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
    at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:56) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) [undertow-servlet-1.0.15.Final.jar:1.0.15.Final]
    at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final]
    at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:25) [undertow-core-1.0.15.Final.jar:1.0.15.Final] …
Run Code Online (Sandbox Code Playgroud)

java apache cookies reverse-proxy wildfly-8

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

Queue :: later()不在Laravel上工作

我正在研究Laravel框架,我遇到了一些队列问题.Laravel提供了一个统一的API来处理队列,我正在研究它.Laravel提供的方法之一是Queue::later(DateTime|int $delay, string $job, mixed $data = '', string $queue = null);

所以,我实现了我的工作类:

<?php

class SendEmail {
    public function send($job, $data) {
        Log::info('JOB: ' . $job->getName());
        Log::info('DATA: ' . $data['message']);
    }
}
Run Code Online (Sandbox Code Playgroud)

上面,我登录了一个文件,收到的参数.只是想知道它是否有效.我的控制器使用Queue API以这种方式调用作业:

<?php

class MyControllerController extends BaseController {

    function index() {
        LOG::debug('Index action STARTED');
        $date = Carbon::now()->addMinutes(2);
        Queue::later($date, 'SendEmail@send', array('message' => 'MY MESSAGE!'));
        $view = View::make('index');
        LOG::debug('Index action FINISHED');
        return $view;
    }
}
Run Code Online (Sandbox Code Playgroud)

看看我正在使用Queue::later().我希望send()类的方法SendEmail在2分钟后执行.好吧,我完成了实现空白视图并设置路线.然后我向我的控制器发出GET请求,然后我去检查日志文件.

我在打开日志文件时看到了这个:

[2014-10-02 16:23:11] production.DEBUG: Index action STARTED …
Run Code Online (Sandbox Code Playgroud)

php queue laravel-4

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