如果您对spring–java.lang.IllegalStateException:SockJsMessageCodec是必需的但不可用:感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您
如果您对spring – java.lang.IllegalStateException:SockJsMessageCodec是必需的但不可用:感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于spring – java.lang.IllegalStateException:SockJsMessageCodec是必需的但不可用:的详细内容,我们还将为您解答sockjs报错的相关问题,并且为您提供关于Android json错误com.google.gson.JsonSyntaxException:java.lang.IllegalStateException、com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:需要一个字符串,但在第 6 行第 17 列路径 $.ErrMsgDtl 处为 BEGIN_OBJECT、com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期BEGIN_ARRAY但是STRING、Hibernate Search + Spring Boot:java.lang.IllegalStateException:没有可用的事务性EntityManager的有价值信息。
本文目录一览:- spring – java.lang.IllegalStateException:SockJsMessageCodec是必需的但不可用:(sockjs报错)
- Android json错误com.google.gson.JsonSyntaxException:java.lang.IllegalStateException
- com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:需要一个字符串,但在第 6 行第 17 列路径 $.ErrMsgDtl 处为 BEGIN_OBJECT
- com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期BEGIN_ARRAY但是STRING
- Hibernate Search + Spring Boot:java.lang.IllegalStateException:没有可用的事务性EntityManager
spring – java.lang.IllegalStateException:SockJsMessageCodec是必需的但不可用:(sockjs报错)
你好我是websocket的新手.我不知道为什么我得到这个例外.
java.lang.IllegalStateException: A SockJsMessageCodec is required but not available: Add Jackson 2 to the classpath,or configure a custom SockJsMessageCodec.
at org.springframework.util.Assert.state(Assert.java:385)
at org.springframework.web.socket.sockjs.transport.TransportHandlingSockJsService.getMessageCodec(TransportHandlingSockJsService.java:130)
at org.springframework.web.socket.sockjs.transport.session.WebSocketServerSockJsSession.handleMessage(WebSocketServerSockJsSession.java:187)
at org.springframework.web.socket.sockjs.transport.handler.sockJsWebSocketHandler.handleTextMessage(SockJsWebSocketHandler.java:92)
at org.springframework.web.socket.handler.AbstractWebSocketHandler.handleMessage(AbstractWebSocketHandler.java:43)
at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.handleTextMessage(StandardWebSocketHandlerAdapter.java:112)
at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.access$000(StandardWebSocketHandlerAdapter.java:42)
at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:82)
at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:79)
at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:369)
at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:468)
at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:272)
at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:116)
at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:54)
at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onDataAvailable(WsHttpUpgradeHandler.java:192)
at org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvailable(AbstractServletInputStream.java:178)
at org.apache.coyote.http11.upgrade.AbstractProcessor.upgradedispatch(AbstractProcessor.java:92)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:601)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
我的控制台输出
opening Web Socket... stomp.js:145
Web Socket Opened... stomp.js:145
>>> CONNECT
accept-version:1.1,1.0
heart-beat:10000,10000 stomp.js:145
Whoops! Lost connection to undefined
这是我的bjplayer-servlet.xml
fig/>
jplayer"/>
broker application-destination-prefix="/app">
broker prefix="/topic"/>
broker>
对于我的控制器
@MessageMapping("/joinRoom")
@SendTo("/topic/lobby")
public Liststem.out.println("your RoomName is: "+room.getRoomName());
return roomService.getRooms();
}
我的JavaScript
总结
以上是小编为你收集整理的spring – java.lang.IllegalStateException:SockJsMessageCodec是必需的但不可用:全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
springspring
Android json错误com.google.gson.JsonSyntaxException:java.lang.IllegalStateException
我在解析json数据时遇到此错误
Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2
我无法找到解决方案.我的json数据是:
{
"user": [
{
"email": "wijden@jerseyrest.com",
"firstName": "Wijden",
"id": "1",
"lastName": "User"
}, {
"email": "user@jerseyrest.com",
"firstName": "Sample",
"id": "2",
"lastName": "User"
}, {
"email": "ingenieur@jerseyrest.com",
"firstName": "Ingenieur",
"id": "3",
"lastName": "User"
}
]
}
这就是我做到的方式:
Type type = new Typetoken<List<WorkItem>>() { }.getType();
List<WorkItem> workitems = (List<WorkItem>) new Gson().fromJson(resultat, type);
如果你能帮助我解决问题,我将不胜感激.提前致谢
解决方法:
为了解析你的JSON,我创建了包装响应的类,即:
public class Response {
@Serializedname("user")
private List<User> userList;
//getters and setters
}
和,
public class User{
@Serializedname("id")
private int id;
@Serializedname("email")
private String email;
@Serializedname("firstName")
private String firstName;
@Serializedname("lastName")
private String lastName;
//getters and setters
}
然后,为了解析您的JSON响应,您只需要:
Gson gson = new Gson();
Response data = gson.fromJson(yourjsonString, Response.class);
然后,您可以非常轻松地访问您的数据,例如:
User user = data.getUserList.get(i);
注意:使用注释@Serializedname对于分离JSON响应中和应用程序中的字段名称很有意义,以便遵循Java命名约定…
com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:需要一个字符串,但在第 6 行第 17 列路径 $.ErrMsgDtl 处为 BEGIN_OBJECT
如何解决com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:需要一个字符串,但在第 6 行第 17 列路径 $.ErrMsgDtl 处为 BEGIN_OBJECT?
从服务器解析数据时获取 JsonSyntax 异常。我检查了我的模型类和服务器响应。对我来说看起来不错。知道如何解决这个问题吗?错误表示预期的字符串,但为 begin_object。不知道我哪里做错了。 以下是来自服务器的响应
{
"Data": {
"Transactions": [
{
"Earns": [
{
"Description": "","EarnId": "46723912","Earned": 10000.0
}
],"Expires": "2021-12-31 00:00:00","Store": "QATes","StoreTrans": "107884927","TranDate": "2021-02-01 12:26:34"
}
]
},"Status": "SUCCESS","ErrCde": null,"ErrMsg": null,"ErrMsgDtl": null
}
下面是我的模型类
class BonusSummaryDataResponse {
@Serializedname("Transactions")
var transactions: ArrayList<BonusTransData>? = null
class BonusTransData {
@Serializedname("Earns")
var earns: ArrayList<BonusEarnsData>? = null
@Serializedname("Expires")
var expires: String? = null
@Serializedname("Store")
var store: String? = null
@Serializedname("StoreTrans")
var storeTrans: String? = null
@Serializedname("TranDate")
var tranDate: String? = null
}
class BonusEarnsData {
@Serializedname("Description")
var description: String? = null
@Serializedname("EarnId")
var earnId: String? = null
@Serializedname("Earned")
var earned: Double = 0.0
}
}
ResponseWrapper
data class ResponseWrapper<T>(
@Serializedname("Data")
var data: T?,@Serializedname("Status")
val status: String? = null,@Serializedname("ErrCde")
val errorCode: String? = null,@Serializedname("ErrMsg")
val errorMessage : String? = null,@Serializedname("ErrMsgDtl")
val errorMessageDetail: String?= null)
如下所示,我们正在调用函数:
@POST("services/abc/summary")
fun getBonusCashSummary(@Body tBonusSummaryRequest: BonusSummaryRequest):
Observable<ResponseWrapper<BonusSummaryDataResponse>>
ResponseWrapper 上面是我们传递 BonusSummaryDataResponse 数据类的通用类。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期BEGIN_ARRAY但是STRING
这是我使用Gson进行序列化的第一种方法.我像这样回复了我的Android应用程序的facebook响应
我的Json:
{"data": [
{
"pic_square": "https://fbcdn-profile-a.akamaihd.netxxxx1388091435_797626998_q.jpg",
"uid": "10202xxx852765",
"name": "Mister X"
},
{
"pic_square": "https://fbcdn-profile-a.akamaihd.netxxxx1388091435_797626998_q.jpg",
"uid": "10202xxx852765",
"name": "Mister X"
}
]
}
try {
final GsonBuilder builder = new GsonBuilder();
final Gson gson = builder.create();
JSONObject data= response.getGraphObject().getInnerjsonObject();
FacebookResponses facebookResponses= gson.fromJson(data.toString(),FacebookResponses.class); //exception here
Log.i(TAG, "Result: " + facebookResponses.toString());
} catch (JsonSyntaxException e) {
e.printstacktrace();
}
我的课
public class FacebookResponses implements Serializable {
private static final long serialVersionUID = 1L;
@Serializedname("data");
private FacebookRisp[] data;
}
class FacebookRisp implements Serializable {
private static final long serialVersionUID = 1L;
@Serializedname("pic_square")
private String[] pic_square;
@Serializedname("uid")
private String[] uid;
@Serializedname("name")
private String[] name;
public String[] getPic_square() {
return pic_square;
}
public void setPic_square(String[] pic_square) {
this.pic_square = pic_square;
}
public String[] getUid() {
return uid;
}
public void setUid(String[] uid) {
this.uid = uid;
}
public String[] getName() {
return name;
}
public void setName(String[] name) {
this.name = name;
}
}
我明白了
com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为BEGIN_ARRAY但在第1行第118列为STRING
更新:
我修改了爱琴海的答案,问题是[]
@Serializedname("pic_square")
private String**[]** pic_square; //ex here and others
解决方法:
将您的FacebookResponses类更改为:
private class FacebookResponses {
private Data[] data;
}
private class Data {
@Serializedname("pic_square")
private String picSquare;
private String uid;
private String name;
}
编辑:因为您的json响应的结构如下所示:
Hibernate Search + Spring Boot:java.lang.IllegalStateException:没有可用的事务性EntityManager
我正在尝试按照本教程在Spring Boot应用程序中设置Hibernate Search 。问题是我在启动时遇到错误:
Caused by: java.lang.IllegalStateException: No transactional EntityManager available at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:279) ~[spring-orm-5.0.7.RELEASE.jar:5.0.7.RELEASE] at com.sun.proxy.$Proxy110.unwrap(Unknown Source) ~[na:na] at org.hibernate.search.jpa.Search.getSession(Search.java:55) ~[hibernate-search-orm-5.9.0.Final.jar:5.9.0.Final] at org.hibernate.search.jpa.Search.getFullTextEntityManager(Search.java:49) ~[hibernate-search-orm-5.9.0.Final.jar:5.9.0.Final] at mz.api.spring.service.HibernateSearchService.initializeHibernateSearch(HibernateSearchService.java:26) ~[classes/:na] at mz.api.spring.config.HibernateSearchConfig.hibernateSearchService(HibernateSearchConfig.java:25) ~[classes/:na] at mz.api.spring.config.HibernateSearchConfig$$EnhancerBySpringCGLIB$$6594e5b4.CGLIB$hibernateSearchService$0(<generated>) ~[classes/:na] at mz.api.spring.config.HibernateSearchConfig$$EnhancerBySpringCGLIB$$6594e5b4$$FastClassBySpringCGLIB$$ab525f18.invoke(<generated>) ~[classes/:na] at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) ~[spring-core-5.0.7.RELEASE.jar:5.0.7.RELEASE] at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:361) ~[spring-context-5.0.7.RELEASE.jar:5.0.7.RELEASE] at mz.api.spring.config.HibernateSearchConfig$$EnhancerBySpringCGLIB$$6594e5b4.hibernateSearchService(<generated>) ~[classes/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_181] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_181] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_181] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_181] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.0.7.RELEASE.jar:5.0.7.RELEASE] ... 24 common frames omitted
我不明白是什么原因导致了这个问题。
相关代码:
@SpringBootApplication@EnableJpaRepositories(basePackages = "mz.api.spring.repository")@EntityScan(basePackages = "mz.api.hibernate.model")@EnableTransactionManagementpublic class Application { private final static Logger LOGGER = LogManager.getLogger(Application.class); public static void main(String[] args) { LOGGER.debug("Running application .."); SpringApplication.run(Application.class, args); }}
..
@Service public class HibernateSearchService { private final EntityManager entityManager; @Autowired public HibernateSearchService(EntityManager entityManager) { this.entityManager = entityManager; } public void initializeHibernateSearch() { try { FullTextEntityManager fullTextEntityManager = getFullTextEntityManager(this.entityManager); fullTextEntityManager.createIndexer().startAndWait(); } catch (InterruptedException e) { e.printStackTrace(); } }}
..
@Configurationpublic class HibernateSearchConfig { private final EntityManager entityManager; @Autowired public HibernateSearchConfig(EntityManager entityManager) { this.entityManager = entityManager; } @Bean HibernateSearchService hibernateSearchService() { HibernateSearchService hibernateSearchService = new HibernateSearchService(this.entityManager); hibernateSearchService.initializeHibernateSearch(); return hibernateSearchService; }}
答案1
小编典典我设法通过自动装配EntityManagerFactory使其起作用。然后使用EntityManagerFactory创建一个EntityManager。
@Servicepublic class HibernateSearchService { private final EntityManager entityManager; @Autowired public HibernateSearchService(final EntityManagerFactory entityManagerFactory) { this.entityManager = entityManagerFactory.createEntityManager(); } @PostConstruct public void initializeHibernateSearch() { try { FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager); fullTextEntityManager.createIndexer().startAndWait(); } catch (InterruptedException e) { e.printStackTrace(); } }
今天关于spring – java.lang.IllegalStateException:SockJsMessageCodec是必需的但不可用:和sockjs报错的讲解已经结束,谢谢您的阅读,如果想了解更多关于Android json错误com.google.gson.JsonSyntaxException:java.lang.IllegalStateException、com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:需要一个字符串,但在第 6 行第 17 列路径 $.ErrMsgDtl 处为 BEGIN_OBJECT、com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期BEGIN_ARRAY但是STRING、Hibernate Search + Spring Boot:java.lang.IllegalStateException:没有可用的事务性EntityManager的相关知识,请在本站搜索。
本文标签: