2017-02-10 6 views
0

nullであってはなりません! "}春のデータを作る方法@Asyncの仕事?エラー:</p> <p>{「原因」:ヌル、「メッセージ」: "PersistentEntityがnullであってはならない私は、私は次のエラーを取得する春データリポジトリ法に@Asyncを使用しようとするとPersistentEntityが

CompletableFuture <>を直列化しようとしているかのようです。

リポジトリコード:

@Query("SELECT p FROM Produto p where descricao LIKE CONCAT(UPPER(:like),'%')") 
@Async 
CompletableFuture<List<Produto>> findByLikeAsync(@Param("like") String like); 

構成は:

@SpringBootApplication 
@EntityScan(basePackages = {"..."}) 
@EnableJpaRepositories(basePackages = {"..."}) 
@EnableAsync 
@Configuration 
public class Application implements AsyncConfigurer { 
    public static void main(String[] args) { 
     SpringApplication.run(Application.class, args); 
    } 

    @Override 
    public Executor getAsyncExecutor() { 
     ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); 
     executor.setCorePoolSize(7); 
     executor.setMaxPoolSize(42); 
     executor.setQueueCapacity(11); 
     executor.setThreadNamePrefix("MyExecutor-"); 
     executor.initialize(); 
     return executor; 
    } 

    @Override 
    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() { 
     return new CustomAsyncExceptionHandler(); 
    } 
} 

私は将来<>の代わりCompletableFuture <>を使用しようとしましたが、それは同じエラーをスローします。

すべてのアイデア?

ありがとうございました。

+1

なぜ「永続エンティティはnullであってはいけません」ということは、「CompletableFuture」を直列化しようとしていると思いますか? stacktraceは* real *エラーがどこにあるかを伝えます。 – Kayaman

答えて

0

CrudRepositoryを使用していると仮定すると、リポジトリのメソッドは登録されているクラス(またはそのコレクション)のみを返すことができます。この場合は、あなたがあなたのリポジトリを定義した場合であることを:あなたはList<Produto>を返す必要が

public interface ProdutoRepository extends CrudRepository<Produto, Long>

。これを呼び出す@Serviceを作成し、@Asyncと注釈を付けたパブリックメソッドを作成することができます。

+0

私はAsyncメソッドを直接呼び出しています。私は間違ったことをする必要があります。私は春を学び始めました。多分私は何かを誤解しました。 –

関連する問題

 関連する問題