0
私は単純なWebSocketをセットアップしてデータを保存しようとしています。どうにかしてデータは永続化されません。エラーメッセージが表示されず、オブジェクトがクライアントに正しく返されます。 RESTコントローラとREST要求でオブジェクトを格納しようとすると、動作します。WebSocketを使用したSpringブートストアデータ
dependencies {
compile 'org.springframework.boot:spring-boot-starter-web'
compile 'org.springframework.boot:spring-boot-starter-data-jpa'
compile 'org.springframework.boot:spring-boot-starter-websocket'
compile 'org.springframework:spring-messaging'
compile 'com.google.code.gson:gson:1.7.2'
compile 'org.postgresql:postgresql:9.4-1200-jdbc41'
compile 'commons-dbcp:commons-dbcp:1.4'
testCompile('org.springframework.boot:spring-boot-startet-test')
}
PersonController
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/response");
config.setApplicationDestinationPrefixes("/app");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/websocket")
.setAllowedOrigins("*")
.withSockJS();
}
メッセージングSTOMPの設定
@Controller
public class PersonController {
@Autowired
PersonRepository personRepository;
@MessageMapping("/test")
@SendTo("/response/test")
public Person test() throws Exception {
Person person = new Person();
person.setName("John Doe");
return personRepository.save(person);
}
}
:ここ
は私のbuild.gradleファイルの依存関係があります
人エンティティ
@Entity
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return getName;
}
public void setName(String name) {
this.name = name;
}
}
ベースのリポジトリ
@NoRepositoryBean
public interface BaseRepository<T, ID extends Serializable> extends Repository<T, ID> {
void delete(T deleted);
void delete(ID id);
Iterable<T> findAll();
T findOne(ID id);
T save(T persisted);
Iterable<T> save(Iterable<T> persited);
}
人リポジトリ
public interface PersonRepository extends
BaseRepository<Person, Serializable> {
}
- problがあります私のコードで?
- キャッシングに問題はありますか?私は強制的にフラッシュする必要がありますか?
- SpringBootでサポートされているWebSocketでデータを保存していますか?
- データを保存する例をご存知ですか?私は、データを保存しないで基本的な例しか見つけられませんでした。
はSpringBootでサポートされているWebSocketを用いてデータを格納していますか?はい、私はプロダクションでwebsocket上のブラウザからバネブートバックエンドにデータが送られ、挿入、更新などのビジネスロジックを実行するアプリケーションがあるので、このような制限はありません –