日常学习--20240713

1、字节流转字符流时,除了使用字节流实例作为参数,还需要什么参数?

还需要使用字符编码作为参数,保证即使在不同平台上也是使用相同的字符编码(否则会使用平台默认的编码,不同平台默认编码可能不一样)

2、在使用spring service调用方法A时,A上面没有事务标记;同时又在A的内部调用了方法B,B上面有事务标记且其事务传播属性为默认,则方法A、B上开启事务的情况是什么样的?

        正常来说因为A上没有事务标记,即A上不开启事务;而B上因为有事务标记,而且事务传播属性为默认,即调用者有事务就假如,没有则自己开启一个事务,所以B上一般是会开启事务的;

        但是因为spring的声明式事务是通过springAOP实现的,如果方法A和B在同一个类中,则方法A调用方法B就会是自我调用,而不是通过spring的代理类来调用(即spring声明式事务失效);这种情况下方法A、B都不会开启事务。(解决方案:A、B不在一个类中,或者使用编程式事务替代)

3、集群Tomcat和单例的Tomcat相比在开发过程中需要注意哪些?

集群Tomcat开发注意事项
  1. 时间同步
    • 重要性:集群中所有的服务器需要保持时间同步。时间差不仅会影响session过期判断,还可能导致集群无法正确建立。
    • 实现方式:Linux系统下通常使用ntp协议进行时间同步。可以在每个服务器上设置自动运行脚本,如通过cron任务每天自动同步时间。
  2. Session管理
    • 会话复制:在集群环境下,需要确保用户的session信息能够在不同的Tomcat节点之间正确复制和共享。这通常通过配置Tomcat的session复制功能来实现。
    • Serializable接口:所有放在session里的对象都需要实现java.io.Serializable接口,以便能够在不同节点之间进行序列化和反序列化。
    • 监听器与过滤器:可能需要在web应用中添加特定的监听器或过滤器来处理session的创建、销毁和迁移等事件。
  3. Web应用配置
    • web.xml修改:在web应用的web.xml文件中增加<distributable/>标签,以标记该应用支持分布式部署。
    • Context配置:在Tomcat的server.xml文件中配置<Context>标签时,可能需要为应用指定特定的部署路径、资源访问控制等参数。
  4. 网络配置
    • IP地址获取:确保每台服务器上的Tomcat进程能够获取到非127.0.0.1的IP地址,以便在集群中正确通信。这可能需要修改/etc/hosts文件或网络配置。
    • 端口配置:避免不同Tomcat节点之间的端口冲突,特别是HTTP和AJP等常用端口。
  5. 性能与资源优化
    • 负载均衡:集群Tomcat可以通过负载均衡器来分发用户请求,以提高系统性能和可用性。需要根据实际业务需求配置合适的负载均衡策略。
    • 内存与线程:合理配置Tomcat的内存大小和线程池参数,以应对高并发请求。避免因为资源不足导致系统崩溃或响应缓慢。
  6. 故障恢复与容错
    • 冗余部署:在集群中部署多个Tomcat节点可以提高系统的容错能力。当某个节点出现故障时,其他节点可以接管其工作负载。
    • 监控与日志:建立完善的监控和日志系统,以便及时发现并处理集群中的异常情况。

相关推荐

  1. 日常学习--20240713

    2024-07-14 14:32:03       21 阅读
  2. 日常学习--docker命令梳理--20240714

    2024-07-14 14:32:03       25 阅读
  3. 日常学习--Linux命令梳理--20240715

    2024-07-14 14:32:03       20 阅读
  4. 每日学习总结20240313

    2024-07-14 14:32:03       41 阅读
  5. 笔记——20240413

    2024-07-14 14:32:03       33 阅读
  6. 20240715题目

    2024-07-14 14:32:03       19 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 14:32:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 14:32:03       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 14:32:03       58 阅读
  4. Python语言-面向对象

    2024-07-14 14:32:03       69 阅读

热门阅读

  1. qt 布局有多少种

    2024-07-14 14:32:03       18 阅读
  2. 并发漏洞介绍

    2024-07-14 14:32:03       18 阅读
  3. 展开说说:Android之View基础知识解析

    2024-07-14 14:32:03       16 阅读
  4. 代码随想录算法训练营第35天

    2024-07-14 14:32:03       20 阅读
  5. C++解压缩level2行情协议

    2024-07-14 14:32:03       27 阅读
  6. Day20—Scrapy与Redis的分布式爬取

    2024-07-14 14:32:03       22 阅读
  7. NLP入门之中文分词

    2024-07-14 14:32:03       20 阅读
  8. PSDK2003SP1/R2报__security_cookie的解决办法

    2024-07-14 14:32:03       29 阅读
  9. 二叉树---后序遍历(递归与迭代)

    2024-07-14 14:32:03       22 阅读
  10. 进制数相关

    2024-07-14 14:32:03       25 阅读