dbhandle.java

本文介绍如何使用Java进行数据库操作的基本方法,包括连接数据库、执行SQL查询、获取查询结果等核心内容。

package com.xxx.util;

 

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.Enumeration;

import java.util.Hashtable;

import java.util.List;

import java.util.Properties;

 

import javax.sql.DataSource;

 

import org.apache.commons.dbcp.BasicDataSourceFactory;

import org.apache.log4j.Logger;

 

import com.microsoft.sqlserver.jdbc.SQLServerDataSource;

import com.microsoft.sqlserver.jdbc.SQLServerException;

 

 

/**

*

* Supply the basic methods to operate DB by java

*/

public class DbHandler {

               

               private String serverName = "";

               private String portNumber = "";

               private String user = "";

               private String password = "";

               private String databaseName = "";

               private boolean integratedSecurity = true;

               

               // Declare the JDBC objects.

               private Connection con = null;

               public ResultSet rs = null;

               static Logger logger = Logger.getLogger(DbHandler.class);

               

               /**

               * Initialize all the parameters of DB

               *

                * @param serverName

               * @param portNumber  Set as '-1': Use the default port number '1433'

               * @param user

               * @param password

               * @param databaseName

               * @param integratedSecurity

               */

               public DbHandler(String serverName, String portNumber, String user, Stringpassword, String databaseName, boolean integratedSecurity) {

                               this.setServerName(serverName);

                               this.setPortNumber(portNumber);

                               this.setUser(user);

                               this.setPassword(password);

                               this.setDatabaseName(databaseName);

                               this.setIntegratedSecurity(integratedSecurity);

               }

               

               /**

               * Get the connection object of JDBC

               *

                * @return

               * @throws SQLServerException

               */

               public boolean getConnection() {

                               boolean status = true;

                               try {

                                               // Establish the connection.

                                               Properties connectionInfo = new Properties();

                      connectionInfo.put("maxWait", "20000");

                      connectionInfo.put("maxActive", "30");

                       connectionInfo.put("url","jdbc:jtds:sqlserver://"+this.getServerName()+":"+this.getPortNumber()+";databaseName="+this.getDatabaseName()+";useCursors=true;loginTimeout=30;socketTimeout=120");

                      connectionInfo.put("driverClassName","net.sourceforge.jtds.jdbc.Driver");

                      connectionInfo.put("maxIdle", "5");

                      connectionInfo.put("password", this.getPassword());

                      connectionInfo.put("username", this.getUser());

                       DataSource ds =BasicDataSourceFactory.createDataSource(connectionInfo);

//                                           SQLServerDataSource ds = new SQLServerDataSource();

//                                           ds.setServerName(this.getServerName());

//                                           ds.setPortNumber(this.getPortNumber());

//                                           ds.setUser(this.getUser());

//                                           ds.setPassword(this.getPassword());

//                                           ds.setDatabaseName(this.getDatabaseName());

//                                           ds.setIntegratedSecurity(this.getIntegratedSecurity());

                                               this.con = ds.getConnection();

                               }

                               catch (SQLServerException e) {

                                               logger.error("Connect DB falied", e);

                              status = false;

                               } catch (Exception e) {

                                               logger.error("Connect DB falied", e);

                              status = false;

                                               e.printStackTrace();

                               }

                               return status;

               }

               

               /**

               * Clear Current result set and close connection

               */

               public void destroy() {

                               if(rs != null || con != null)

                                               logger.info("Close DB connection");

               if (rs !=null) try {

                               rs.close();

                               rs = null;

               }

               catch(Exception e) {}

              

               if (con != null) try {

                               con.close();

                               con = null;

               }

               catch(Exception e) {}

               }

               

               /**

               * Executes the given SQL statement, which returns a single ResultSet object.

                *

                * @param sql

               * @return

               */

               public boolean execQuery(String sql) {  

                               

                               boolean status = true;

                               

                               this.destroy();

                               

                               try {

                                               if(!this.getConnection())

                                                               return false;

                       Statement stmt =con.createStatement();

                                               logger.info("Use DB " + this.getDatabaseName());

                                               logger.info(sql);

                                               rs = stmt.executeQuery(sql);

                               }

    

                               // Handle any errors that may have occurred.

               catch(Exception e) {

 

                                               logger.error("Query DB falied", e);

                              status = false;

               }

               

               return status;

                               

               }             

               

               /**

               * Executes the given SQL statement, which returns a single ResultSet object.

               *

                * @param sql     Might include '?'

               * @param params  Supply values of '?' in sql by order

               * @return

               */

               public boolean execQuery(String sql, List<Object> params){      

                               

                               boolean status = true;

                               

                               this.destroy();

                               

                               if(params == null)

                                               return this.execQuery(sql);

                                               

                               try {

                                               if(!this.getConnection())

                                                               return false;

                                               PreparedStatement pstmt = con.prepareStatement(sql);

                                               int i = 1;

                                   for(Object p : params) {

                                              pstmt.setObject(i, p);

                              String strP = "";

                              if(p == null)

                                             strP = "null";

                              else

                                             strP = (p.getClass().getName().equals("java.lang.String")) ?"'" + p.toString() + "'" : p.toString();

                                             

                              sql = sql.replaceFirst("\\?", strP);

                                              i++;

                                   }

                                               logger.info("Use DB " + this.getDatabaseName());

                                               logger.info(sql);

                                               rs = pstmt.executeQuery();

                               }

    

                               // Handle any errors that may have occurred.

               catch(Exception e) {

 

                                               logger.error("Query DB falied", e);

                              status = false;

               }

              

               return status;

                               

               }

               

               /**

               * Select all values without specifying any conditions

               *

                * @param table

               * @return

               */

               public boolean selectAll(String table) {

                               return this.selectAsSpecified(table, null, null, null);

               }

               

               /**

               * Select the specific values

               *

                * @param table         Specify table name

               * @param fields         Specify fieldname by order

               * @param conditions     e.g. conditions.put(fieldName,valueObject)

               * @param orderBy        Specify field nameused to order the query result

               * @return

               */

               public boolean selectAsSpecified(String table, List<String> fields,Hashtable<String, Object> conditions, List<String> orderBy) {

                               

                               String selectSql = "select ";

                               

                               // Specify fields in the query

                               String field = separateFields(fields);

                               if(field.equals("")) {

                                               selectSql += "* ";

                               }

                               else {

                                               selectSql += field + " ";

                               }             

                               

                               // Specify to get values from which table

                               selectSql += "from " + table;

                               

                               // Specify conditions in the query

                               List<Object> reCondition = getCondition(conditions);

                               List<Object> params = (ArrayList<Object>) reCondition.get(1);

                               selectSql += reCondition.get(0);

                               

                               // Specify conditions in the query

                               String reOrder = separateFields(orderBy);

                               if(!reOrder.equals(""))

                                               selectSql += " order by " + reOrder;

                               

                               selectSql += ";";                               

                               

                               return this.execQuery(selectSql, params);

               }

               

               /**

               * Executes the given SQL statement, which may be an INSERT, UPDATE, or

                * DELETE statement or an SQL statement that returns nothing, such as anSQL DDL statement.

                *

                * @param sql

               * @return

               */

               public boolean execUpdate(String sql){               

                               boolean status = true;

                               try {

                                               if(!this.getConnection())

                                                               return false;

                       Statement stmt =con.createStatement();

                                               logger.info("Use DB " + this.getDatabaseName());

                                               logger.info(sql);

                                               stmt.executeUpdate(sql);

                               }

    

                               // Handle any errors that may have occurred.

               catch(Exception e) {

                                               logger.error("Update DB falied", e);

                              status = false;

               }

              

                               finally {

                                               this.destroy();

                               }

                               return status;

               }

               

               /**

               * Executes the given SQL statement, which may be an INSERT, UPDATE, or

                * DELETE statement or an SQL statement that returns nothing, such as an SQLDDL statement.

                *

                * @param sql     Might include '?'

               * @param params  Supply values of '?' in sql by order

               * @return

               */

               public boolean execUpdate(String sql, List<Object> params){   

                               boolean status = true;

 

                               if(params == null)

                                               return execUpdate(sql);

                               

                               try {

                                               if(!this.getConnection())

                                                               return false;

                                               PreparedStatement pstmt = con.prepareStatement(sql);

                                               int i = 1;

                       for(Object p : params) {

                              pstmt.setObject(i, p);

                              String strP = "";

                              if(p == null)

                                             strP = "null";

                              else

                                             strP = (p.getClass().getName().equals("java.lang.String")) ?"'" + p.toString() + "'" : p.toString();

                                             

                              sql = sql.replaceFirst("\\?", strP);

                              i++;

                       }

                                               logger.info("Use DB " + this.getDatabaseName());

                                               logger.info(sql);

                                               pstmt.executeUpdate();

                               }

    

                               // Handle any errors that may have occurred.

               catch(Exception e) {

                                               logger.error("Update DB falied", e);

                              status = false;

               }

              

                               finally {

                                               this.destroy();

                               }

                               return status;

               }

               

               /**

               * Insert values to the specific table

               *

                * @param table        Specify tablename

               * @param fields       Specify field name by order

               * @param values       Specify values by order

               * @throws Exception

                */

               public boolean insertData(String table, List<String> fields,List<Object> values) {

                               String insertSql = "insert into " + table;

                               

                               // Specify fields in the query

                               if(fields != null)

                                               insertSql += "(" + separateFields(fields) + ")";

                               

                               // Specify values in the query

                               List<Object> reValue = separateValues(values);

                               List<Object> params = (ArrayList<Object>) reValue.get(1);

                               if(!reValue.get(0).equals(""))

                                               insertSql += " values (" + reValue.get(0) + ");";

                               else {

                                               logger.fatal("Values cannot be null");

                                               return false;

                               }

                               

                               return this.execUpdate(insertSql, params);

               }

               

               /**

               * Update values

               *

                * @param table        Specify thetable name

               * @param values       Specify values by order

               * @param conditions    e.g. conditions.put(fieldName,valueObject)

               * @return

               */

               public boolean updateData(String table, Hashtable<String, Object> values,Hashtable<String, Object> conditions) {

                               String updateSql = "update " + table;

                               

                               // Specify values in the query

                               List<Object> reValue = separateValues(values);

                               List<Object> params = (ArrayList<Object>) reValue.get(1);

                               if(!reValue.get(0).equals(""))

                                               updateSql += " set " + reValue.get(0);

 

                               // Specify conditions in the query

                               List<Object> reCondition = getCondition(conditions);

                               params.addAll((ArrayList<Object>) reCondition.get(1));

                               updateSql += reCondition.get(0) + ";";

                               

                               return this.execUpdate(updateSql, params);

               }

               

               /**

               * Delete rows in table

               *

                * @param table        Specify thetable name

               * @param conditions   e.g. conditions.put(fieldName, valueObject)

               * @return

               */

               public boolean deleteData(String table, Hashtable<String, Object>conditions) {

                               String delSql = "delete from " + table;

                               

                               // Specify conditions in the query

                               List<Object> reCondition = getCondition(conditions);

                               List<Object> params = (ArrayList<Object>) reCondition.get(1);

                               delSql += reCondition.get(0) + ";";

                               

                               return this.execUpdate(delSql, params);                             

               }

               

               /**

               * Construct list values as sql="?, ?,..." which will be included inSQL

               *     

                * @param values  Specify values by order

               * @return   sql:

               *           params: storeexact values by order, they will be set to PreparedStatement later

               */

               public List<Object> separateValues(List<Object> values) {

                               String sql = "";

                               List<Object> params = new ArrayList<Object>();

                               if(values != null) {

                                               int size = values.size();

                                               for (int i = 0; i < size; i++) {

                                                               sql += "?";

                                                               if(i < size - 1) {

                                                                               sql += ", ";

                                                               }

                                                               params.add(values.get(i));

                                               }

                               }             

                               

                               List<Object> result = new ArrayList<Object>();

                               result.add(sql);

                               result.add(params);

                               

                               return result;

               }

               

               /**

               * Construct list values as sql="?, ?,..." which will be included inSQL

               *     

                * @param values  Specify values by order

               *               e.g. values.put(fieldName, valueObject)

               * @return   sql:

               *           params: storeexact values by order, they will be set to PreparedStatement later

               */

               public List<Object> separateValues(Hashtable<String, Object>values) {

                               String sql = "";

                               List<Object> params = new ArrayList<Object>();

                               if(values != null) {

                                               int size = values.size();

                                               Enumeration<String> keys = values.keys();

                                               for (int i = 0; i < size; i++) {

                                                               String key = (String) keys.nextElement();

                                                               Object value = values.get(key);

                                                               sql += key + "=?";

                                                               if(i < size - 1) {

                                                                               sql += ", ";

                                                               }

                                                               params.add(value);

                                               }

                               }             

                               

                               List<Object> result = new ArrayList<Object>();

                               result.add(sql);

                               result.add(params);

                               

                               return result;

               }

               

               /**

               * Construct list fields as sql="?, ?,..." which will be included inSQL

               *     

                * @param fields  Specify fields by order

               * @return   sql:

               *           params: storeexact values by order, they will be set to PreparedStatement later

               */

               private String separateFields(List<String> fields) {

                               String sql = "";

 

                               if(fields != null) {

                                               int size = fields.size();

                                               for (int i = 0; i < size; i++) {

                                                               sql += fields.get(i);

                                                               if(i < size - 1) {

                                                                              sql += ", ";

                                                               }

                                               }

                               }             

                               return sql;

               }

               

               /**

               * Retrieves the value of the designated column in the current row of thisResultSet object as a String in the Java programming language.

                *

                * @param columnLabel

               * @return

               */

               public List<String> getStringByColName(String columnLabel) {

                               List<String> result = new ArrayList<String>();

                               try {

                                               while (rs.next()) {

                                                               result.add(this.rs.getString(columnLabel));

                                               }

                               } catch (SQLException e) {

                                               logger.error("Read result set error", e);

                               }

                               

                               return result;

               }

                               

               /**

               * Get the first String value by the specific column name

               *

                * @param columnLabel

               * @return

               * @throws Exception

               */

               public String getFirstStringByColName(String columnLabel) throws Exception {

                               List<String> result = this.getStringByColName(columnLabel);

                               int size = result.size();

                               if(size == 0)

                                               throw new Exception("0 row record");

                               else

                                               return result.get(0);

                               

               }

               

               /**

               * Get the last String value by the specific column name

               *

                * @param columnLabel

               * @return

               * @throws Exception

               */

               public String getLastStringByColName(String columnLabel) throws Exception {

                               List<String> result = this.getStringByColName(columnLabel);

                               int size = result.size();

                               if(size == 0)

                                               throw new Exception("0 row record");

                               else

                                               return result.get(size - 1);

                               

               }

               

               /**

               * Retrieves the value of the designated column in the current row of thisResultSet object as an int in the Java programming language.

                *

                * @param columnLabel

               * @return

               */

               public List<Integer> getIntByColName(String columnLabel) {

 

                               List<Integer> result = new ArrayList<Integer>();

                               try {

                                               while (rs.next()) {

                                                               result.add(this.rs.getInt(columnLabel));

                                               }

                               } catch (SQLException e) {

                                               logger.error("Read result set error", e);

                               }

                               

                               return result;                    

               }

               

               /**

               * Get the first integer value by the specific column name

               *

                * @param columnLabel

               * @return

               * @throws Exception

               */

               public Integer getFirstIntByColName(String columnLabel) throws Exception {

                               List<Integer> result = this.getIntByColName(columnLabel);

                               int size = result.size();

                               if(size == 0)

                                               throw new Exception("0 row record");

                               else

                                               return result.get(0);

                               

               }

               

               /**

               * Get the last integer value by the specific column name

               *

                * @param columnLabel

               * @return

               * @throws Exception

               */

               public Integer getLastIntByColName(String columnLabel) throws Exception {

                               List<Integer> result = this.getIntByColName(columnLabel);

                               int size = result.size();

                               if(size == 0)

                                               throw new Exception("0 row record");

                               else

                                               return result.get(size - 1);

                               

               }

               /**

               *  Construct list conditions as sql="where field1=?,field2=?,..." which will be included in SQL

               *

                * @param conditions   e.g. conditions.put(fieldName,valueObject)

               * @return

               */

               public List<Object> getCondition(Hashtable<String, Object>conditions) {

                               String sql = "";

                               List<Object> params = new ArrayList<Object>();

                               if(conditions != null) {

                                               int size = conditions.size();

                                               Enumeration<String> keys = conditions.keys();

                                               for (int i = 0; i < size; i++) {

                                                               String key = (String) keys.nextElement();

                                                               Object value = conditions.get(key);

                                                               key += "=?";

                                                               if(i == 0) {

                                                                               sql += " where " + key;

                                                               }

                                                               else {

                                                                               sql += " and " + key;

                                                               }

                                                               params.add(value);

                                               }

                               }             

                               

                               List<Object> result = new ArrayList<Object>();

                               result.add(sql);

                               result.add(params);                       

                               

                               return result;

               }

               

               /**

               * @return the serverName

               */

               public String getServerName() {

                               return serverName;

               }

 

               /**

               * @param serverName the serverName to set

               */

               public void setServerName(String serverName) {

                               this.serverName = serverName;

               }

 

               /**

               * @return the portNumber

               */

               public String getPortNumber() {

                               return portNumber;

               }

 

               /**

               * @param portNumber2 the portNumber to set

               */

               public void setPortNumber(String portNumber2) {

                               if(!portNumber2.equals("-1"))

                                               this.portNumber = portNumber2;

               }

 

               /**

               * @return the user

               */

               public String getUser() {

                               return user;

               }

 

               /**

               * @param user the user to set

               */

               public void setUser(String user) {

                               this.user = user;

               }

 

               /**

               * @return the password

               */

               public String getPassword() {

                               return password;

               }

 

               /**

               * @param password the password to set

               */

               public void setPassword(String password) {

                               this.password = password;

               }

 

               /**

               * @return the databaseName

               */

               public String getDatabaseName() {

                               return databaseName;

               }

 

               /**

               * @param databaseName the databaseName to set

               */

               public void setDatabaseName(String databaseName) {

                               this.databaseName = databaseName;

               }

 

               /**

               * @return the integratedSecurity

               */

               public boolean getIntegratedSecurity() {

                               return integratedSecurity;

               }

 

               /**

               * @param integratedSecurity the integratedSecurity to set

               */

               public void setIntegratedSecurity(boolean integratedSecurity) {

                               this.integratedSecurity = integratedSecurity;

               }

 

               public void displayRow(String title, ResultSet rs, List<String> fields) {

                               if(rs == null) {

                                               logger.info("0 row(s) affected");

                               }

                               else {

                                               try {

                                                               System.out.println(title);

                                                               while (rs.next()) {

                                                                               for(String f : fields)

                                                                                               System.out.println(f + ": " + rs.getString(f));

                                                                               System.out.println("");

                                                               }

                                               } catch (Exception e) {

                                                               e.printStackTrace();

                                               }

                               }

               }

               

               /**

               * @param args

               * @throws Exception

                */

               public static void main(String[] args) throws Exception {

                               DbHandler db = new DbHandler("10.226.63.204", "1433","sa", "Wsws1234", "tms", false);

               try {

                              db.getConnection();

                              db.execQuery("select count(*) from [tms].[dbo].[Credentials]");

                              if(db.rs.next()){

                                              System.out.println(db.rs.getInt(1));

                              }

                               }catch(Exception e){

                                               e.printStackTrace();

                               }

                               finally {

                                               db.destroy();

                               }

 

               }

 

}

链接presto异常:java.sql.SQLException: Authentication using username/password requires SSL to be enabled at com.facebook.presto.jdbc.PrestoDriverUri.setupClient(PrestoDriverUri.java:244) at com.facebook.presto.jdbc.PrestoDriver.connect(PrestoDriver.java:89) at ai.chat2db.spi.sql.IDriverManager.getConnection(IDriverManager.java:87) at ai.chat2db.spi.sql.IDriverManager.getConnection(IDriverManager.java:72) at ai.chat2db.spi.util.JdbcUtils.testConnect(JdbcUtils.java:165) at ai.chat2db.server.domain.core.impl.DataSourceServiceImpl.preConnect(DataSourceServiceImpl.java:59) at ai.chat2db.server.web.api.controller.data.source.DataSourceController.preConnect(DataSourceController.java:118) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at ai.chat2db.server.web.api.aspect.ConnectionInfoHandler.connectionInfoHandler(ConnectionInfoHandler.java:108) at jdk.internal.reflect.GeneratedMethodAccessor29.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) at ai.chat2db.server.web.api.aspect.ControllerHandler.handle(ControllerHandler.java:49) at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:702) at ai.chat2db.server.web.api.controller.data.source.DataSourceController$$SpringCGLIB$$0.preConnect(<generated>) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at ai.chat2db.server.web.api.config.controller.console.ConsoleHelper.doController(ConsoleHelper.java:389) at ai.chat2db.server.web.api.config.controller.console.ConsoleHelper.lambda$onMessage$2(ConsoleHelper.java:228) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840)
08-15
HTTP ERROR 500 java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "oldAlg" is null URI: /setup/setup-host-settings.jsp STATUS: 500 MESSAGE: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "oldAlg" is null SERVLET: org.jivesoftware.openfire.admin.setup.setup_002dhost_002dsettings_jsp CAUSED BY: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "oldAlg" is null Caused by: java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "oldAlg" is null at org.jivesoftware.util.JiveGlobals.setupPropertyEncryptionAlgorithm(JiveGlobals.java:1088) at org.jivesoftware.openfire.admin.setup.setup_002dhost_002dsettings_jsp._jspService(setup_002dhost_002dsettings_jsp.java:265) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:64) at javax.servlet.http.HttpServlet.service(HttpServlet.java:590) at org.eclipse.jetty.ee8.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1160) at org.eclipse.jetty.ee8.servlet.ServletHolder.handle(ServletHolder.java:649) at org.eclipse.jetty.ee8.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1374) at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:182) at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:85) at org.eclipse.jetty.ee8.servlet.FilterHolder.doFilter(FilterHolder.java:171) at org.eclipse.jetty.ee8.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1348) at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:73) at org.eclipse.jetty.ee8.servlet.FilterHolder.doFilter(FilterHolder.java:171) at org.eclipse.jetty.ee8.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1348) at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:38) at org.eclipse.jetty.ee8.servlet.FilterHolder.doFilter(FilterHolder.java:171) at org.eclipse.jetty.ee8.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1348) at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:170) at org.eclipse.jetty.ee8.servlet.FilterHolder.doFilter(FilterHolder.java:171) at org.eclipse.jetty.ee8.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1348) at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:290) at org.eclipse.jetty.ee8.servlet.FilterHolder.doFilter(FilterHolder.java:177) at org.eclipse.jetty.ee8.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1348) at org.jivesoftware.admin.ContentSecurityPolicyFilter.doFilter(ContentSecurityPolicyFilter.java:53) at org.eclipse.jetty.ee8.servlet.FilterHolder.doFilter(FilterHolder.java:171) at org.eclipse.jetty.ee8.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1348) at org.eclipse.jetty.ee8.servlet.ServletHandler.doHandle(ServletHandler.java:454) at org.eclipse.jetty.ee8.nested.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.ee8.security.SecurityHandler.handle(SecurityHandler.java:497) at org.eclipse.jetty.ee8.nested.HandlerWrapper.handle(HandlerWrapper.java:108) at org.eclipse.jetty.ee8.nested.ScopedHandler.nextHandle(ScopedHandler.java:183) at org.eclipse.jetty.ee8.nested.SessionHandler.doHandle(SessionHandler.java:519) at org.eclipse.jetty.ee8.nested.ScopedHandler.nextHandle(ScopedHandler.java:181) at org.eclipse.jetty.ee8.nested.ContextHandler.doHandle(ContextHandler.java:885) at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:152) at org.eclipse.jetty.ee8.servlet.ServletHandler.doScope(ServletHandler.java:423) at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:150) at org.eclipse.jetty.ee8.nested.SessionHandler.doScope(SessionHandler.java:503) at org.eclipse.jetty.ee8.nested.ScopedHandler.nextScope(ScopedHandler.java:150) at org.eclipse.jetty.ee8.nested.ContextHandler.doScope(ContextHandler.java:830) at org.eclipse.jetty.ee8.nested.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.ee8.nested.ContextHandler.handle(ContextHandler.java:1443) at org.eclipse.jetty.ee8.nested.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1290) at org.eclipse.jetty.ee8.nested.HttpChannel.dispatch(HttpChannel.java:617) at org.eclipse.jetty.ee8.nested.HttpChannel.handle(HttpChannel.java:460) at org.eclipse.jetty.ee8.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:2512) at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1071) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151) at org.eclipse.jetty.server.Handler$Sequence.handle(Handler.java:805) at org.eclipse.jetty.server.Server.handle(Server.java:182) at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:677) at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99) at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293) at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1211) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166) at java.base/java.lang.Thread.run(Thread.java:833)
最新发布
11-16
2025-03-12 11:50:25.915 ERROR [1899669251996913664] [http-nio-17012-exec-1] com.genew.ems.common.aspect.GlobalExceptionHandler - Error while handle NuMaxCloudCommonException. com.genew.ems.common.exception.NuMaxCloudCommonException: OPERATE_EXCEPTION at com.hinmsbackground.otnbusiness.util.standard.NetconfStandardSendUtil.throwNumsException(NetconfStandardSendUtil.java:396) at com.hinmsbackground.otnbusiness.util.standard.NetconfStandardSendUtil.sendRpcCommon(NetconfStandardSendUtil.java:116) at com.hinmsbackground.otnbusiness.util.standard.NetconfStandardSendUtil.sendRpc(NetconfStandardSendUtil.java:280) at com.hinmsbackground.otnbusiness.service.impl.NeSoftManagServiceImpl.doBackupNeConfig(NeSoftManagServiceImpl.java:935) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) at org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:499) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691) at com.hinmsbackground.otnbusiness.service.impl.NeSoftManagServiceImpl$$EnhancerBySpringCGLIB$$755db176.doBackupNeConfig(<generated>) 解释
03-13
2025-09-14 09:22:03.874 [reactor-http-nio-2] DEBUG reactor.netty.http.server.HttpServerOperations - [cee1357f, L:/0:0:0:0:0:0:0:1:9000 - R:/0:0:0:0:0:0:0:1:59726] New http connection, requesting read 2025-09-14 09:22:03.874 [reactor-http-nio-3] DEBUG reactor.netty.http.server.HttpServerOperations - [cd52e4da, L:/0:0:0:0:0:0:0:1:9000 - R:/0:0:0:0:0:0:0:1:59727] New http connection, requesting read 2025-09-14 09:22:03.874 [reactor-http-nio-2] DEBUG reactor.netty.transport.TransportConfig - [cee1357f, L:/0:0:0:0:0:0:0:1:9000 - R:/0:0:0:0:0:0:0:1:59726] Initialized pipeline DefaultChannelPipeline{(reactor.left.httpCodec = io.netty.handler.codec.http.HttpServerCodec), (reactor.left.httpTrafficHandler = reactor.netty.http.server.HttpTrafficHandler), (reactor.right.reactiveBridge = reactor.netty.channel.ChannelOperationsHandler)} 2025-09-14 09:22:03.874 [reactor-http-nio-3] DEBUG reactor.netty.transport.TransportConfig - [cd52e4da, L:/0:0:0:0:0:0:0:1:9000 - R:/0:0:0:0:0:0:0:1:59727] Initialized pipeline DefaultChannelPipeline{(reactor.left.httpCodec = io.netty.handler.codec.http.HttpServerCodec), (reactor.left.httpTrafficHandler = reactor.netty.http.server.HttpTrafficHandler), (reactor.right.reactiveBridge = reactor.netty.channel.ChannelOperationsHandler)} 2025-09-14 09:22:03.898 [reactor-http-nio-3] DEBUG reactor.netty.http.server.HttpServerOperations - [cd52e4da, L:/0:0:0:0:0:0:0:1:9000 - R:/0:0:0:0:0:0:0:1:59727] Increasing pending responses, now 1 2025-09-14 09:22:03.910 [reactor-http-nio-3] DEBUG reactor.netty.http.server.HttpServer - [cd52e4da-1, L:/0:0:0:0:0:0:0:1:9000 - R:/0:0:0:0:0:0:0:1:59727] Handler is being applied: org.springframework.http.server.reactive.ReactorHttpHandlerAdapter@60fd8272 2025-09-14 09:22:03.935 [reactor-http-nio-3] DEBUG o.s.web.server.adapter.HttpWebHandlerAdapter - [cd52e4da-1] HTTP GET "/company/getCompany?pageIndex=1&pageSize=10" 2025-09-14 09:22:03.966 [reactor-http-nio-3] DEBUG o.s.w.r.r.m.a.RequestMappingHandlerMapping - [cd52e4da-1] Mapped to com.hvlink.controller.CompanyController#getCompany(String, String, String, BasePageParam) 2025-09-14 09:22:04.065 [reactor-http-nio-3] DEBUG org.mybatis.spring.SqlSessionUtils - Creating a new SqlSession 2025-09-14 09:22:04.085 [reactor-http-nio-3] DEBUG org.mybatis.spring.SqlSessionUtils - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1c6ba774] was not registered for synchronization because synchronization is not active 2025-09-14 09:22:04.232 [reactor-http-nio-3] DEBUG o.springframework.jdbc.datasource.DataSourceUtils - Fetching JDBC Connection from DataSource 2025-09-14 09:22:04.431 [reactor-http-nio-3] ERROR com.alibaba.druid.pool.DruidDataSource - {dataSource-1} init error java.sql.SQLException: url not set at com.alibaba.druid.pool.DruidDataSource.resolveDriver(DruidDataSource.java:1273) at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:898) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1462) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1458) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:83) at org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource.getConnection(AbstractRoutingDataSource.java:194) at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) at com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor.willDoQuery(PaginationInnerInterceptor.java:135) at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:75) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) at com.sun.proxy.$Proxy209.query(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) at com.sun.proxy.$Proxy111.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:121) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:85) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) at com.sun.proxy.$Proxy116.selectPage(Unknown Source) at com.hvlink.service.impl.CompanyServiceImpl.getComPanyList(CompanyServiceImpl.java:99) at com.hvlink.controller.CompanyController.getCompany(CompanyController.java:88) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.reactive.result.method.InvocableHandlerMethod.lambda$invoke$0(InvocableHandlerMethod.java:145) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:125) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839) at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:258) at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:347) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:101) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:292) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:187) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:236) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299) at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onComplete(MonoIgnoreElements.java:89) at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260) at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260) at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1840) at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:258) at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:347) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached(MonoCacheTime.java:337) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext(MonoCacheTime.java:354) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2400) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onSubscribe(MonoCacheTime.java:293) at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) at reactor.core.publisher.MonoCacheTime.subscribeOrReturn(MonoCacheTime.java:143) at reactor.core.publisher.Mono.subscribe(Mono.java:4475) at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:129) at reactor.core.publisher.Mono.subscribe(Mono.java:4490) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.Mono.subscribe(Mono.java:4490) at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:203) at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53) at reactor.core.publisher.Mono.subscribe(Mono.java:4475) at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:129) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:240) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onComplete(MonoFlatMap.java:181) at reactor.core.publisher.Operators.complete(Operators.java:137) at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:121) at reactor.core.publisher.Mono.subscribe(Mono.java:4490) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:157) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.innerNext(FluxConcatMap.java:282) at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:863) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2400) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:139) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2196) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2070) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onSubscribe(MonoPeekTerminal.java:152) at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) at reactor.core.publisher.Mono.subscribe(Mono.java:4490) at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:451) at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:219) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.Mono.subscribe(Mono.java:4490) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) at reactor.netty.http.server.HttpServer$HttpServerHandle.onStateChange(HttpServer.java:1112) at reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:707) at reactor.netty.transport.ServerTransport$ChildObserver.onStateChange(ServerTransport.java:481) at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:626) at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:230) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:750) 2025-09-14 09:22:04.433 [reactor-http-nio-3] DEBUG org.mybatis.spring.SqlSessionUtils - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1c6ba774] 2025-09-14 09:22:04.440 [reactor-http-nio-3] DEBUG o.s.w.r.r.m.a.RequestMappingHandlerAdapter - [cd52e4da-1] Using @ExceptionHandler com.hvlink.exceptions.ExceptionHandle#handleException(Exception) 2025-09-14 09:22:04.444 [reactor-http-nio-3] ERROR com.hvlink.exceptions.ExceptionHandle - ===服务器内部错误== org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: url not set ### The error may exist in com/hvlink/mapper/CompanyMapper.java (best guess) ### The error may involve com.hvlink.mapper.CompanyMapper.selectPage_mpCount ### The error occurred while executing a query ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: url not set at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:96) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441) at com.sun.proxy.$Proxy111.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:121) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:85) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) at com.sun.proxy.$Proxy116.selectPage(Unknown Source) at com.hvlink.service.impl.CompanyServiceImpl.getComPanyList(CompanyServiceImpl.java:99) at com.hvlink.controller.CompanyController.getCompany(CompanyController.java:88) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.reactive.result.method.InvocableHandlerMethod.lambda$invoke$0(InvocableHandlerMethod.java:145) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:125) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839) at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:258) at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:347) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:101) at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.complete(MonoIgnoreThen.java:292) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onNext(MonoIgnoreThen.java:187) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:236) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299) at reactor.core.publisher.MonoIgnoreElements$IgnoreElementsSubscriber.onComplete(MonoIgnoreElements.java:89) at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260) at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260) at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1840) at reactor.core.publisher.MonoZip$ZipCoordinator.signal(MonoZip.java:258) at reactor.core.publisher.MonoZip$ZipInner.onNext(MonoZip.java:347) at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1839) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached(MonoCacheTime.java:337) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext(MonoCacheTime.java:354) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2400) at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onSubscribe(MonoCacheTime.java:293) at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) at reactor.core.publisher.MonoCacheTime.subscribeOrReturn(MonoCacheTime.java:143) at reactor.core.publisher.Mono.subscribe(Mono.java:4475) at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:129) at reactor.core.publisher.Mono.subscribe(Mono.java:4490) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.Mono.subscribe(Mono.java:4490) at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:203) at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53) at reactor.core.publisher.Mono.subscribe(Mono.java:4475) at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:129) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:240) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.onComplete(MonoIgnoreThen.java:203) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onComplete(MonoFlatMap.java:181) at reactor.core.publisher.Operators.complete(Operators.java:137) at reactor.core.publisher.MonoZip.subscribe(MonoZip.java:121) at reactor.core.publisher.Mono.subscribe(Mono.java:4490) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:157) at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74) at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82) at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.innerNext(FluxConcatMap.java:282) at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:863) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180) at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2400) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:139) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2196) at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2070) at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96) at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onSubscribe(MonoPeekTerminal.java:152) at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55) at reactor.core.publisher.Mono.subscribe(Mono.java:4490) at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:451) at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:219) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:201) at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:83) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53) at reactor.core.publisher.Mono.subscribe(Mono.java:4490) at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263) at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) at reactor.netty.http.server.HttpServer$HttpServerHandle.onStateChange(HttpServer.java:1112) at reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:707) at reactor.netty.transport.ServerTransport$ChildObserver.onStateChange(ServerTransport.java:481) at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:626) at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:114) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:230) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318) at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:750) Caused by: org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: url not set ### The error may exist in com/hvlink/mapper/CompanyMapper.java (best guess) ### The error may involve com.hvlink.mapper.CompanyMapper.selectPage_mpCount ### The error occurred while executing a query ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: url not set at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:153) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427) ... 127 common frames omitted Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: url not set at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:84) at org.mybatis.spring.transaction.SpringManagedTransaction.openConnection(SpringManagedTransaction.java:80) at org.mybatis.spring.transaction.SpringManagedTransaction.getConnection(SpringManagedTransaction.java:67) at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337) at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) at com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor.willDoQuery(PaginationInnerInterceptor.java:135) at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:75) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62) at com.sun.proxy.$Proxy209.query(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151) ... 134 common frames omitted Caused by: java.sql.SQLException: url not set at com.alibaba.druid.pool.DruidDataSource.resolveDriver(DruidDataSource.java:1273) at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:898) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1462) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1458) at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:83) at org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource.getConnection(AbstractRoutingDataSource.java:194) at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:160) at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:118) at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) ... 146 common frames omitted 2025-09-14 09:22:04.450 [reactor-http-nio-3] DEBUG o.s.w.r.r.m.annotation.ResponseBodyResultHandler - [cd52e4da-1] Using 'application/json' given [*/*] and supported [application/json, application/*+json, application/x-ndjson, text/event-stream] 2025-09-14 09:22:04.450 [reactor-http-nio-3] DEBUG o.s.w.r.r.m.annotation.ResponseBodyResultHandler - [cd52e4da-1] 0..1 [com.hvlink.common.Result<?>] 2025-09-14 09:22:04.465 [reactor-http-nio-3] DEBUG o.s.http.codec.json.Jackson2JsonEncoder - [cd52e4da-1] Encoding [Result(status=500, msg=发现未知问题,请联系管理员!, data=null, timestamp=1757812924445)] 2025-09-14 09:22:04.479 [reactor-http-nio-3] DEBUG reactor.netty.http.server.HttpServerOperations - [cd52e4da-1, L:/0:0:0:0:0:0:0:1:9000 - R:/0:0:0:0:0:0:0:1:59727] Decreasing pending responses, now 0 2025-09-14 09:22:04.480 [reactor-http-nio-3] DEBUG reactor.netty.http.server.HttpServerOperations - [cd52e4da-1, L:/0:0:0:0:0:0:0:1:9000 - R:/0:0:0:0:0:0:0:1:59727] Last HTTP packet was sent, terminating the channel 2025-09-14 09:22:04.480 [reactor-http-nio-3] DEBUG reactor.netty.channel.ChannelOperations - [cd52e4da-1, L:/0:0:0:0:0:0:0:1:9000 - R:/0:0:0:0:0:0:0:1:59727] [HttpServer] Channel inbound receiver cancelled (operation cancelled). 2025-09-14 09:22:04.485 [reactor-http-nio-3] DEBUG o.s.web.server.adapter.HttpWebHandlerAdapter - [cd52e4da-1] Completed 500 INTERNAL_SERVER_ERROR 2025-09-14 09:22:04.488 [reactor-http-nio-3] DEBUG reactor.netty.http.server.HttpServerOperations - [cd52e4da-1, L:/0:0:0:0:0:0:0:1:9000 - R:/0:0:0:0:0:0:0:1:59727] Last HTTP response frame这个报错是为什么
09-15
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值