JSF + AJAX: Dificuldade em criar um cookie[resolvido]

Olá Pessoal!
No meu trampo, temos um site que vendemos pros nossos clientes (Um portal de aplicações). Uma das tecnologias que usamos é JSF e, recentemente, andamos espetando algo de AJAX também.
Eu tenho uma classe que, basicamente, cria e lê um determinado cookie. Aqui segue os snipets principais:

import java.util.Arrays;
import java.util.Map;

import javax.faces.component.html.HtmlCommandButton;
import javax.faces.context.FacesContext;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ShortcutMgr extends PageCodeBase {
	private Cookie cookies[];
	private HttpServletRequest request;
	private HttpServletResponse response;
	
	public ShortcutMgr(FacesContext context) {
		context = context == null ? 
			FacesContext.getCurrentInstance():
			context
		;
		request = (HttpServletRequest) context.getExternalContext().getRequest();
		response = (HttpServletResponse) context.getExternalContext().getResponse();
	}
	
	public void add() {
		...
		cookie = new ShortcutCookie(read());
		...
		write(cookie);
		...
	}
	...
	private Cookie read() {
		...
	}
	
	private void write(ShortcutCookie cookie){
		response.addCookie(cookie);
	}
}

ShortcutCookie é uma classe minha que herda de Cookie. Os unicos sets de Cookie que eu aciono em seu construtor são setValue e setMaxAge(passo -1).
O problema que me ocorre, é que o fluxo do programa passa por esta classe, executa tudo bunitinho (acompanhei com o debug do Eclipse), só que no final das contas, o meu cookie não aparece lá pro browser.
A título de informação:
Estou aplicando AJAX no meu site. Mando uma “requisição AJAX” pro meu servidor, depois um PhaseListener meu captura a requisição e este, à sua maneira, chama, por exemplo, o método add() da classe ShortcutMgr.
Gostaria de saber o que estou fazendo de errado ou o que estou desconsiderando, esquecendo, etc…
Agradeço antecipadamente!

Não sei exatamente o que fazer no seu caso.
Já tive problemas com cookies usando o Tomcat 5.0.19 que se resolveram magicamente em versões posteriores do Tomcat.
Mas, para evitar problemas, normalmente nunca inclua caracteres diferentes de 0 até 9 e de A até Z (a até z) em cookies - não ponha nem espaços, traços, pontos, nada.
Se quiser, pegue o conteúdo do seu cookie e converta-o para hexadecimal - não se esqueça que cookies também têm de ser bastante curtos.

O nome do meu cookie é alfanumérico.
O browser não trunca o cookie se ele for muito grande?

Olha só, descobri o quê impedia a gravação do cookie, mas o por quê pra mim ainda é um mistéio…
Na minha página tinha um botão cujo onclick disparava uma função javascript que envia a requisição ajax pro servidor. Percebi que, mesmo sendo ajax, a tela tava dando submit. Coloquei então um “return false” no onclick do botão, logo depois da invocação da função que envia a requisição ajax. Assim, consegui gravar o cookie… Agora, aparentemente, o responsável pela não-gravação do cookie era o meu botão dar submit no form, pois quando evitei que o botão fizesse isso (adicionando a instrução “return false;” no onclick), passou a gravar corretamente o cookie. Talvez possa mesmo ser isso… vai ver que acontecia algo do tipo o Java naum conseguir gravar o cookie pra tela porque a tela tava no meio do processo de submit, sei lá…
É provavel que naum seja isso, mas é o que consigo intuir disso tudo… :lol:
Muito obrigado Thingol, por responder o tópico!